私の C# アプリケーションには、SQL データベースからデータを抽出するコードがあります。
これDataTable
は、アプリケーション全体のさまざまな場所で使用され、複数で表示されますDataGridViews
。
ただし、すべての列ではなく、一部の列のみを表示したいと考えていDatatable
ます。
また、表示したい列はそれぞれで異なりますDataGridViews
。
例えば
- DataGridView1 で列 1 ~ 3 を表示
- DataGridView2 で列 4 ~ 6 を表示
- DataGridView3 で列 7 ~ 12 を表示
等
もちろん、SQL から必要なフィールドを抽出するために異なるコードを書くこともできますDataGridViews
が、これは非常に簡潔な解決策とは思えません。
SQL から抽出したものを使用DataTable
し、アプリケーションで複数のフィルターを適用して、それぞれのDataGridViews
.
私は使用を見ましDataView
たが、これにはメソッドがありますが、メソッドSort
がないようですFilter
例えば
DataTable table = GetDateFromSql();
DataView view = new DataView(table);
view.Sort = "FieldName";
理想的には、次のようなことができるようになりたいです-
view.Filter = "SELECT cola, colB, colC";
myDataGridView.DataSource = view;
メソッドがあることは知っていますRowFilter
が、実際には、フィルタリングしたい列です。
これはどのように行うことができますか?