DataGridViewComboBoxCellとDataTableがあります。表Iのデータは、DataSourceを使用してDataGridViewComboBoxCellにバインドされ、ValueMemberとDisplayMemberを設定しました。
private void Form1_Load(object sender, EventArgs e)
{
DataGridViewComboBoxCell comboBoxCell = new DataGridViewComboBoxCell();
dataGridView1.Rows[0].Cells[0] = comboBoxCell;
comboBoxCell.DataSource = dataTable;
comboBoxCell.ValueMember = "ID";
comboBoxCell.DisplayMember = "Item";
}
フォームが読み込まれたときにセルに値をプログラムで設定するにはどうすればよいですか?単純なComboBoxでは、プロパティSelectedIndexを知っています。comboBoxCell.Value=...;を試しました。しかし、それは例外を与えます。そして試してみました
private void dataGridView1_CellFormatting(object sender,
DataGridViewCellFormattingEventArgs e)
{
e.Value = 1;
}
セルに新しい値を設定しますが、値を選択する必要があります。
フォームが読み込まれ、空のセルがあります。
そして、ComboBoxのいくつかのデータ。
このコードdataGridView1.Rows[0].Cells["ComboColumn"].Value = "1";
をcomboBoxCell.DisplayMember=...(上記を参照)の直後に置くと、正常に機能します。
ID列の値「1」は「アイテム」列の値「Second」に対応しているので、正しい結果が得られます。
私の英語と私の初心者コードでごめんなさい:)