コンボ ボックス (ドロップダウン) をグリッドビューの 2 番目の列として使用しており、コードに示すように SELECT クエリを使用して入力しています。グリッドビューの最初の列はテキスト ファイルの列ヘッダーで、2 番目の列 (コンボ ボックス) はテーブルの列の値を表示するため、ユーザーはマッピングを行うことができます。
以下のコードを変更して、ユーザーがドロップダウン リストから値を選択した場合、その値は既にマップされているため、他のドロップダウン リストに表示されないようにするにはどうすればよいですか? 前もって感謝します!
public void GV(DataTable table)
{
dataGridView1.DataSource = table.DefaultView.ToTable(false, "ColumnName");
DataGridViewComboBoxColumn cmb = new DataGridViewComboBoxColumn();
SqlConnection conn = new SqlConnection ("server=dev;database=Test;Trusted_Connection=True");
conn.Open();
string query = "SELECT Column_Name FROM information_schema.columns WHERE TABLE_NAME = 'CM' ";
SqlCommand cmd = new SqlCommand(query, conn);
DataTable t1 = new DataTable();
using (SqlDataAdapter a = new SqlDataAdapter(cmd))
{
a.Fill(t1);
}
cmb.DataSource = t1;
cmb.ValueMember = "Customer";
dataGridView1.Columns.Add(cmb);
}