【问题标题】:Telerik DataSource, paging and filteringTelerik 数据源、分页和过滤
【发布时间】:2011-09-23 19:36:40
【问题描述】:
我有一个 Telerik RadGrid。绑定到网格的初始 DataSource 有 145 条记录。我在网格中打开了归档以及分页,我的页面大小为 20。当我过滤到 75 条记录时,网格的 MasterTableView.Items 集合显示 20 条记录。这与正在显示的网格中的内容相匹配。但是,我需要对数据执行 Mass Change 并需要 75 条过滤记录。网格中是否有 75 条过滤记录?我想避免必须再次获取所有 145 条记录然后手动过滤。
【问题讨论】:
标签:
filter
paging
telerik-grid
【解决方案1】:
Telerik 不提供服务器端 API 来访问网格中过滤的数据,但他们的论坛上提供了一种解决方法。
解决方案是在加载网格时保存过滤后的行主键,然后使用 ID 获取数据。
bool flag = false;
protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == RadGrid.FilterCommandName)
{
flag = true;
}
}
protected void RadGrid1_PreRender(object sender, EventArgs e)
{
if (flag)
{
foreach (GridDataItem grdItem in RadGrid1.Items)
{
int iID = Convert.ToInt32(grdItem.GetDataKeyValue("ID").ToString());
. . . .
}
flag = false;
}
}
有关更多信息,请查看 Telerik 网站上的以下链接:
http://www.telerik.com/community/forums/aspnet/grid/how-to-get-filter-data.aspx