DataGridViewComboBoxColumn で奇妙な結果が得られます。
1) 値が設定されておらず、セル (ドロップダウン矢印ではない) をクリックすると、オプションの最初の値が値として表示され、セルをクリックすると空白の値に戻ります。値が選択されていないため、誤解を招く可能性がありますが、セルをクリックするまで最初の値が表示されます。
1つの解決策は最初のオプションを空白にすることでしたが、それでも次の問題に悩まされています...
2) 値が既にあるセルを選択してから、ないセルを選択すると、最初に選択された値が、値が選択されていないセルに表示されます。繰り返しますが、セルをクリックするとクリアされますが、これも誤解を招きます。
これを誤解を招かないようにしたいのですが...誰か解決策を知っていますか?
DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn();
DataTable dt = new DataTable();
dt.Columns.Add("f_Id");
dt.Columns[0].DataType = typeof(string);
dt.Columns.Add("f_Desc");
dt.Columns[1].DataType = typeof(string);
for (int i = 0; i < values.Count(); i++)
{
dt.Rows.Add(values[i], values[i]);
}
col.DataSource = dt;
col.DisplayMember = dt.Columns[1].ColumnName;
col.ValueMember = dt.Columns[0].ColumnName;
col.HeaderText = header;
col.Name = header;
DataGridView1.Columns.Add(col);