0

当显示 RadGrid 时,我会显示分页,但是当我尝试单击下一页时,RadGrid 消失了。

以下是可能有助于解决此问题的屏幕截图

asp页面

这是最初加载 RadGrid 的位置

这是pageindexchanged

请提供一些指导以帮助我解决此问题。

4

2 回答 2

3

你不需要这个PageIndexChanged事件,因为你没有在那里做任何时髦的事情。

正如 Ali Issa 所说,您应该使用该OnNeedDataSource事件,该事件将在您获取下一页时被调用。

所以请按照以下步骤操作:

  1. 删除以下代码:

    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"

  2. 并添加以下代码:

    protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
    {
        GridView1.DataSource = tbl;
    }
    

    在您的 aspx 文件中:

    OnNeedDataSource="RadGrid1_NeedDataSource"

最后一件事:不要忘记您的tbl变量必须在每次服务器调用时重新分配(除非tblSession变量)。因此,请确保 tbl 至少在您的文件中定义,Page_Load但最好是替换tbl为某些数据库调用。

于 2012-10-31T14:07:44.520 回答
1

尝试在NeedDataSource事件上绑定网格,然后在pageindexchanged通话中Gridview1.Rebind();

于 2012-10-31T11:20:41.633 回答