0

3 つのクエリを GridView DataSource にバインドしようとしています。私の理解では、複数のクエリを GridView DataSource にバインドすることはできません。これは本当ですか? そうですか、複数のクエリを取得して 1 つの GridView にバインドするにはどうすればよいでしょうか。例えば:

var query1 = select * from table 1
var query2 = select * from table 2
var query3 = select * from table 3


GridView.DataSource = query1;
GridView.DataSource = query2;
GridView.DataSource  = query3;

これは基本的に私がやりたいことですが、私が見つけることができるものから、これは可能です。このようなことをする良い方法はありますか?ありがとう!

したがって、基本的に複数のクエリがあり、1 つの GridView に入るには、それらすべてから特定の結果が必要です。

4

3 に答える 3

0

すべてのクエリが同じタイプの場合、グリッドビューにバインドする前に、それらを1つのコレクションに結合できます。

var aggregateQuery = query1.Concat(query2).Concat(query3);
GridView.DataSource = aggregateQuery;

クエリが同じタイプでない場合は、クエリを単一の共通スキーマに変換するために何かを行う必要があります(詳細を提供するには、さらに詳しく知る必要があります)。または、3つの個別のグリッドビューを用意し、1つだけをバインドする必要があります。各クエリに。

于 2012-09-26T15:53:06.333 に答える
0

From DataGridView.DataSource プロパティ

DataGridView クラスは、標準の Windows フォーム データ バインディング モデルをサポートします。つまり、データ ソースは、次のインターフェイスのいずれかを実装する任意の型にすることができます。

  1. 1 次元配列を含む IList インターフェイス。
  2. DataTable や DataSet クラスなどの IListSource インターフェイス。
  3. BindingList クラスなどの IBindingList インターフェイス。
  4. BindingSource クラスなどの IBindingListView インターフェイス。

むしろバインドしたいかもしれませDataSet

于 2012-09-26T15:46:08.113 に答える