【发布时间】:2014-06-24 21:37:12
【问题描述】:
我正在使用 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页,原始数据又回来了。
以某种方式缓存? (我不知道怎么回事,但 something 是错的。)我在做傻事吗?
(我知道 VirtualItemCount 是错误的:它现在只是硬编码为 1000,而我试图让其余的东西正常工作。此外,一旦我允许每页有不同数量的行,代码将不得不更改;再次,这只是我尝试让事情正常工作时的简化代码。我不认为这些事情是问题的一部分,但如果我是个白痴,请随时纠正我。)
【问题讨论】:
标签: asp.net telerik telerik-grid custompaging