1

フォームに 2 つの GridControls があります。1 つは、Score という名前の列を含む、かなり大きなデータセットです。他の GridControl にこれのサブセットを表示させたい (たとえば、Score の値に基づく上位 3 と下位 3)。

どうすればこれを達成できますか?同じ GridControl の場合、別のビューを使用できると思いますが、完全に分離されているため、ビューのコピーを取得し、データをフィルター処理/並べ替えて、新しいデータセットとして表示する必要がありますか? または、2 番目の GridControl のデータを最初の GridControl のデータにリンクする方法はありますか?

編集:私はgrid2.datasource = grid1.datasourceそこから行くことができました。テーブルへの動的更新はないので、これでよいでしょうか?

4

2 に答える 2

1

私は次のアプローチを使用します:

1)新しいDataViewを作成し、アプローチに基づいてフィルタリングし、2番目のgridControlのデータソースをこのDataViewに設定します。

また

2)2番目のGridControlのDataSourceプロパティを同じ値に設定し、対応するGridViewをフィルタリングします。

于 2011-06-16T09:49:18.963 に答える
1

新しいDataViewを作成する必要はありません。gridviewのCustomRowFilterイベントを確認してください。

e.ListSourceRowデータテーブルの行を取得するために使用します。

したがって、値が25を超える行を表示し、残りを非表示にする場合

gridView_CustomRowFilter(object sender, RowFilterEventArgs e)
{
      if(dataset.datatable[e.ListSourceRow]["ColumnName"] < 25)
      {  
          e.visible = false;
          e.handled = true;
      }
}
于 2011-06-16T09:54:13.897 に答える