0

私はSQL Serverデータベースを持っています。DataGridViewコンボボックスの列バインド

私は、テーブルを選択するコンボボックス、表示するフィールドを選択するチェックリストボックス、データを表示するデータグリッドビューで構成される非常に単純なフロントエンドを構築しています。

私が抱えている問題(おそらく大部分の人にとっては非常に単純なものですが、私は一般的にはデータベースにはかなり新しいです)は、私が別のものとの関係を持つ列を持っており、実際の値ではなくフィールド値のID。フィールドを持つ ID アイテムタイプ CAT1 CAT2

と別のテーブル(と呼ばれるCAT1s):

は、私は1つのテーブルには、フィールドを持つ( "ItemTypes" と呼ばれる)している、明確にするために、

ID CAT1

私はこれでどこに行くのか分かります。 datagridviewでは、ItemTypesテーブルからすべてのデータをインポートしていますが、CAT1列をコンボボックスにしてCAT1sテーブルのCAT1フィールドからデータを取り込みたいとします。現在のところ、CAT1からIDフィールドが表示されています(無意味な数字です)。すべてのヘルプはムーチョいただければ幸い

private void GetData(string selectCommand) 
    { 
     dataGridView2.DataSource = bindingSource2; 

     try 
     { 

      String connectionString = sConnection; 
      dataAdapter = new SqlDataAdapter(selectCommand, connectionString); 
      SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter); 
      DataTable table = new DataTable(); 
      dataAdapter.Fill(table); 
      bindingSource2.DataSource = table; 
      dataGridView2.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); 
     } 
     catch (SqlException) 
     { 
    } 

:ここ

は私がDGVにデータをインポートする必要がコードです。

乾杯

答えて

0

2つ以上のテーブルのデータを表示するには、それらを一緒にジョインする必要があります。私はあなたがSQLでテーブルJOINSを読むことをお勧めします。ここで

あなたは
http://w3schools.com/sql/sql_join.asp

+0

OKを始めることができる場所ですが、どのように私は、動的にコンボボックスに列の型を変更(およびコンボを移入)します(各テーブルには、異なる場所で異なるルックアップフィールドを持っていますか)?私はこれでGoogleを使い果たしたようだ。 –

関連する問題