0

C# には、MIT、Oracle、および Difference と呼ばれる 3 つの DataTable があります。これら 3 つのテーブルを別の列としてグリッドビューに追加する方法を教えてください。以下に示すように、DataTableをグリッドビューにバインドする方法を知っています。しかし、いくつかのDataTableに対して同じことを行う必要があります。助けてください

dataGridView1.DataSource = MIT;

GridView のイメージを次に示します

4

3 に答える 3

0

複数のデータテーブルを1つのデータテーブルにマージしてから、それをデータソースとしてdatagridviewに指定する必要があります。以下のリンクは、データテーブルを1つにマージするのに役立ちます。

http://www.aspnettutorials.com/tutorials/database/bind-mult-table-gridview-asp4.aspx

また

適切な結合を使用して、データを1つのテーブルに選択する必要があります。DataGridViewは、データを単一テーブル形式で表示します。DataGridViewには「複数テーブル」の概念はありません。

DataSet.Merge()別々のオブジェクトからのDataRowsを1つにマージするのに役立ちます。

于 2012-10-15T08:42:36.243 に答える
0

テーブルを組み合わせてからDataSet、共通の列 (1 つあると思います!) を使用DataRelationsしてテーブル間に作成する必要があると思います。DataGridViewこれにより、 を のクエリの結果にバインドできますDataSet

詳細については、こちらを参照してください。

于 2012-10-15T08:37:39.677 に答える
0

これら 3 つの異なるテーブルを GridView に追加したとしても (各 DataTable の列を追加します)。3 つすべてが異なる可能性があるため、各行にデータをどのように入力しますか。したがって、最初にこれらのテーブルを任意の関係に基づいて 1 つに結合する方法が必要です。その後、結果の DataTable を GridView に関連付け/バインドできます。

EnumerableRowCollection<DataRow> result = 
              from t1 in dt1.AsEnumerable()
              join t1 in dt2.AsEnumerable()
              on t1.Field<int>("KeyId") equals
                  t2.Field<int>("KeyId")
              select new
              {
                   KeyId = t1.Field<int>("KeyId"),
                   Column1 = t1.Field<string>("Column1"),
                   Column2 = t2.Field<string>("Column2"), 
                   .
                   . 
              };

dataGridView1.DataSource = result.AsDataView();
于 2012-10-15T08:28:25.480 に答える