ASP.NET DataGrid和自定义分页
发布时间:2020-12-15 23:57:20 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试在ASP.NET中实现DataGrid,并希望实现自定义分页,这样我就不必一次性提供所有数据.我花了几个小时在网上研究,但没有找到任何有用的东西. 当我查看页面时,我看到网格中的第一组结果,前一个链接被禁用.然而,当我单击下一步时,我再次看到网格的第一页,
我正在尝试在ASP.NET中实现DataGrid,并希望实现自定义分页,这样我就不必一次性提供所有数据.我花了几个小时在网上研究,但没有找到任何有用的东西.
当我查看页面时,我看到网格中的第一组结果,前一个链接被禁用.然而,当我单击下一步时,我再次看到网格的第一页,其中前一个链接被禁用.在调试代码时,我确定永远不会调用MyGrid_PageIndexChanged()事件处理程序. 我在下面提供了简化代码.我已经更改了变量名称和省略方法,专注于数据网格分页问题. 在ASPX文件中: <asp:DataGrid ID="myGrid" runat="server" GridLines="None" UseAccessibleHeader="true" AutoGenerateColumns="false" AllowPaging="true" AllowCustomPaging="true" PageIndexChanged="MyGrid_PageIndexChanged"> <PagerStyle Mode="NextPrev" NextPageText="Next >" PrevPageText="< Previous" /> <Columns> <asp:BoundColumn HeaderText="Title" DataField="Name" /> <asp:BoundColumn HeaderText="Date" DataField="Date" /> </Columns> </asp:DataGrid> 并在CS文件中: protected void Page_Load(object sender,EventArgs e) { if (!IsPostBack) { myGrid.PageSize = 20; myGrid.VirtualItemCount = GetNumItems(); BindMyGrid(); } } protected void MyGrid_PageIndexChanged(object sender,DataGridPageChangedEventArgs e) { myGrid.CurrentPageIndex = e.NewPageIndex; BindMyGrid(); } private int GetNumItems() { return 500; } private void BindMyGrid() { Data[] array = GetDataFromInternetSomehow(); this.myGrid.DataSource = array; this.myGrid.DataBind(); } private class Data { public string Date { get; set; } public string Name { get; set; } } 对此的任何想法将非常感激. 解决方法
ASPX中存在错误:连接PageIndexChanged事件处理程序使用属性OnPageIndexChanged(而不是代码中的PageIndexChanged):
<asp:DataGrid ID="myGrid" runat="server" OnPageIndexChanged="MyGrid_PageIndexChanged" /// <--- here's the error ... 然后,如果您有AllowCustomPaging =“true”,则必须确保GetDataFromInternetSomehow()方法仅返回当前所选页面的数据,例如将当前页面传递给方法并仅返回相应的数据: GetDataFromInternetSomehow(e.NewPageIndex); 否则,禁用自定义分页,它将正常工作(但每次都会加载所有数据). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 使用MVC使用List填充@ Html.DropDownList
- asp.net-mvc – 将Visual Studio项目转换为ASP.NET MVC
- 包含模型列表的模型(MVC-3,Razor)
- asp.net-mvc – 在Asp.Net Core中启用基于客户端的文化
- 如何在不提交的情况下触发ASP.NET客户端验证?
- asp.net – 拒绝直接访问文件夹(仅允许通过应用程序)
- 如何在ASP.NET中使用log4net在日志文件中包含SessionID?
- asp.net – MVC 6 – RC1到RC2的更改
- asp.net-mvc – asp.net mvc – 在哪里存储userid – integ
- 了解ASP.Net会话的生命周期
推荐文章
站长推荐
热点阅读