gridview la pagination ne fonctionne pas
J'ai un contrôle gridview, cependant, lorsque je clique sur le numéro de page, j'obtiens une erreur "Page non trouvée". Ce qui me manque ici?
Mon code est:
<asp:GridView ID="gvEmployeeResults" Width="900px" CellSpacing="1"
CellPadding="2"
AutoGenerateColumns="false" OnRowDataBound="gvEmployeeResults_OnRowDataBound"
runat="server" AllowPaging="true" >
<Columns>
<asp:TemplateField HeaderText="Last Name, First Name" ItemStyle-Wrap="true" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="left">
<ItemTemplate>
<asp:LinkButton id="lbtnEmployeeName" OnCommand="EditEmployee_Command" CommandArgument='<%#Eval("EmployeeNum")%>' CommandName="EmployeeName" Visible="true" runat="server" ToolTip="Click to edit Employee."><%# DataBinder.Eval(Container.DataItem, "empLastName") + ", " + DataBinder.Eval(Container.DataItem, "empFirstName")%></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="empAddrLine1" ControlStyle-Width="225px" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="left" HeaderText="Address" />
<asp:BoundField DataField="empCity" ControlStyle-Width="120px" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="left" HeaderText="City" />
<asp:BoundField DataField="empState" ControlStyle-Width="50px" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="left" HeaderText="State" />
<asp:BoundField DataField="empPostalCode" ControlStyle-Width="100px" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="left" HeaderText="Zip" />
<asp:BoundField DataField="empDOB" ControlStyle-Width="100px" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="left" HeaderText="Date Of Birth" />
</Columns>
</asp:GridView>
protected void BindGridview()
{
corpEmployee.Employee emp = new corpEmployee.Employee();
emp.empLastName = tboxLastName.Text.Trim();
emp.empFirstName = tboxFirstName.Text.Trim();
emp.empDOB = tboxDateOfBirth.Text.Trim();
gvEmployeeResults.DataSource = corpEmployeeMgr.GetEmployees(emp);
gvEmployeeResults.DataBind();
}
protected void gvEmployeeResults_OnRowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.Cells[0].Text.Contains("nbsp;"))
{
e.Row.Cells[0].Text = e.Row.Cells[0].Text.Replace("<", "<").Replace(">", ">").Replace("&", "&");
}
}
else
{
return;
}
}
protected void gvEmployeeResults_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvEmployeeResults.PageIndex = e.NewPageIndex;
gvEmployeeResults.DataBind();
}
OriginalL'auteur DotNetRookie | 2012-07-25
Vous devez vous connecter pour publier un commentaire.
vous devez utiliser EnableViewstate= true et lier une fois et l'utiliser IsPostback. (PageIndex )
Je suis sûr que de résoudre votre problème, je peux le détail de ma solution plus si vous le souhaitez
suivez cet exemple ezineasp.net/post/...
wow... merci. J'ai été absent OnPageIndexChanging="gvEmployeeResults_PageIndexChanging"
Je suis heureuse de vous aider à DotNetRookie
OriginalL'auteur Aghilas Yakoub
Vous devez appeler
BindGridview()
dansPageIndexChanging
gestionnaire d'événement.OriginalL'auteur adatapost