3

私の 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が、実際には、フィルタリングしたい列です。

これはどのように行うことができますか?

4

2 に答える 2

9

次のようなことができます。

同様の質問: データビューで選択した列のみを表示する

DataView view = new DataView(table);
DataTable table2 = view.ToTable(false, "FirstColumn", "SecondColumn", "ThirdColumn");
于 2013-10-16T09:48:15.453 に答える
0

その列のデータを気にしない場合は、DataGridViewColumn プロパティを false に設定できます。asp.net Webフォームでは、名前で列を取得できます。

于 2013-10-16T09:56:01.967 に答える