RadGrid在分页期间不更新数据

时间:2014-06-24 21:37:12

标签: asp.net telerik telerik-grid custompaging

我正在使用Telerik RadGrid,我们正试图让它与CustomPaging一起使用。我觉得我很接近,但它没有更新网络客户端上的数据。

我的aspx页面代码如下所示:

<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server">
</telerik:RadAjaxLoadingPanel>

<telerik:RadAjaxPanel ID="RadAjaxPanel2" runat="server" LoadingPanelID="RadAjaxLoadingPanel1">
    <telerik:RadGrid ID="rgItemCustomFields" runat="server" OnNeedDataSource="rgItemCustomFields_NeedDataSource" AllowPaging="true" AllowCustomPaging="true" VirtualItemCount="1000" >
        <PagerStyle Mode="NextPrevAndNumeric" Position="TopAndBottom"></PagerStyle>
    </telerik:RadGrid>
</telerik:RadAjaxPanel>

我的代码隐藏看起来像这样:

protected void Page_PreRender(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        rgItemCustomFields.Rebind();
    }
}

protected void rgItemCustomFields_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
    int currentPage = rgItemCustomFields.CurrentPageIndex;
    DataTable data = GetData(currentPage);

    rgItemCustomFields.DataSource = data;
}

页面显示在屏幕上,我看到前10行数据,我在第1页。如果我再点击不同的页码,网格就会消失,准备显示新数据,调用rgItemCustomFields_NeedDataSource方法。

当我添加一个断点并在rgItemCustomFields_NeedDataSource方法中查看数据时,它看起来是正确的:我看到10行,它们与我在屏幕上显示的不同。

我在VS中按继续,网格在浏览器中重新显示,但我回到第1页,原始数据又回来了。

以某种方式缓存? (我不知道如何,但某些事情是错误的。)我做的事情愚蠢吗?

(我知道VirtualItemCount是错的:它现在刚刚硬编码到1000,而我试图让剩下的东西工作。而且,一旦我允许每页不同的行数,代码将不得不改变;再次,这只是简化的代码,而我试图让事情有效。我不认为这些事情是问题的一部分,但如果我是个白痴,请随时纠正我。)

1 个答案:

答案 0 :(得分:0)