【发布时间】:2012-10-31 11:18:34
【问题描述】:
当显示 RadGrid 时,我会显示分页,但是当我尝试单击下一页时,RadGrid 消失了。
以下屏幕截图可能有助于解决此问题
请提供一些指导以帮助我解决此问题。
【问题讨论】:
-
你的代码不用截图了,因为那个钱包里有编辑器里的代码块,用吧!!!
标签: c# data-binding telerik radgrid page-index-changed
当显示 RadGrid 时,我会显示分页,但是当我尝试单击下一页时,RadGrid 消失了。
以下屏幕截图可能有助于解决此问题
请提供一些指导以帮助我解决此问题。
【问题讨论】:
标签: c# data-binding telerik radgrid page-index-changed
你不需要PageIndexChanged 事件,因为你没有在那里做任何时髦的事情。
正如 Ali Issa 所说,您应该使用 OnNeedDataSource 事件,当您获取下一页时会调用该事件。
所以请按照以下步骤操作:
删除以下代码:
protected void RadGrid1_PageIndexChanged(object source, Telerik.Web.UI.GridPageChangedEventArgs e)
{
this.GridView1.CurrentPageIndex = e.NewPageIndex;
GridView1.DataSource = tbl;
GridView1.DataBind();
}
在您的 aspx 文件中:
OnPageIndexChanged="RadGrid1_PageIndexChanged"
并添加以下代码:
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
GridView1.DataSource = tbl;
}
在您的 aspx 文件中:
OnNeedDataSource="RadGrid1_NeedDataSource"
最后一件事:不要忘记您的tbl 变量必须在每次服务器调用时重新分配(除非tbl 是Session 变量)。因此,请确保至少在您的 Page_Load 中定义了 tbl,但最好将 tbl 替换为某些数据库调用。
【讨论】:
尝试在NeedDataSource事件上绑定网格,然后在pageindexchanged调用Gridview1.Rebind();
【讨论】: