1

DataGridViewTextBoxColumnのようなComboBox列を持つDataGridViewを表示したいと思います。

DataGridViewにDataGridViewTextBoxColumnが表示されており、ユーザーがこの列のセルにフォーカスを設定すると、セルがComboBoxに変更されます。

どの関数をオーバーライドする必要があるのか​​わかりません。

DataGridTextBoxColumnには関数Editがありますが、この関数の間にコンボボックスを描画できますか?

4

1 に答える 1

3

何かが足りない場合を除いて、DataGridViewComboBoxColumn列型を使用できるはずです。

列の追加方法に応じて、[列の追加]ダイアログの[タイプ]ドロップダウンでこのタイプを選択するか、次のようにプログラムで追加します。

DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn();
dataGridView1.Columns.Add(col);

編集するまでテキストボックスのように見えるコンボボックスの効果を実現するには、DataGridViewComboBoxColumnDisplayStyleプロパティをNothingに設定します。

List<string> names = new List<string> { "Joe", "Sally", "Kate" };

DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn();
col.DataSource = names;
col.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;

dataGridView1.Columns.Add(col);

また、EditingControlShowingイベントを介して、DataGridViewセルの基になるコントロールにアクセスすることもできます。

于 2011-09-19T13:00:05.113 に答える