|
分類:[.NET 全般]
下記のようにDataGridViewにてコンボボックスを表示しています。 コンボボックスセルはDataTableを使用して、コード値/表記を保持しています。 その際にDisplayValueに指定したColumnの各要素に空文字/半角スペース/その他文字…とすると、 半角スペースに対応するコンボのリストを選択した場合に空文字に設定した値が選択状態となってしまいます。 ※空文字と半角スペースの区別ができていないようなのですが、どなたはっきりとした原因をご存知の方いらっしゃったらご教授願えないでしょうか? ※空文字の部分は未選択行としたいために空文字行を追加しています。 今のところ、空文字ではなくnullを設定することで当現象を回避しようと思っています。
// コンボボックス表示リスト作成 DataTable table = new DataTable(); table.Columns.Add( "disp", typeof( string ) ); table.Columns.Add( "code", typeof( string ) ); table.Rows.Add( string.Empty, string.Empty ); table.Rows.Add( "disp1", " " ); table.Rows.Add( "disp2", "2" );
// (0,0)のセルをコンボボックスセルとする DataGridViewComboBoxCell cmbCell = new DataGridViewComboBoxCell(); cmbCell.DisplayMember = "disp"; cmbCell.ValueMember = "code"; cmbCell.DataSource = table; this.dataGridView1[0, 0] = cmbCell;
宜しくお願いいたします。
|