2011-06-27 10 views
0

私はTelerik RadGridを持っています。グリッドにバインドされている最初のデータソースには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

関連する問題