2011-06-27 58 views
0

我有一个Telerik RadGrid。绑定到网格的初始DataSource有145条记录。我在网格中打开了文件并打开了页面,我的页面大小为20.当筛选到75条记录时,网格的MasterTableView.Items集合显示20条记录。这与正在显示的网格中的内容相匹配。但是,我需要对数据执行批量更改并需要75条过滤的记录。网格中是否有75个过滤记录?我想避免再次获取所有145个记录,然后手动过滤。Telerik DataSource,寻呼和过滤

回答

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