DataGridViewTextBoxColumn在编辑时更改为ComboBox

时间:2011-09-19 12:58:02

标签: c# datagridviewcombobox

我想显示一个带有ComboBox列的DataGridView,该列看起来像DataGridViewTextBoxColumn。

在DataGridView中,我显示了DataGridViewTextBoxColumn,当​​用户在此列的单元格上设置Focus时,单元格应更改为ComboBox。

我不知道必须覆盖哪个函数。

在DataGridTextBoxColumn中有Edit函数,我可以在这个函数中绘制我的组合框吗?

1 个答案:

答案 0 :(得分:3)

除非我遗漏了什么 - 你应该能够简单地使用DataGridViewComboBoxColumn列类型。

根据您添加列的方式,您可以在“添加列”对话框的“类型”下拉列表中选择此类型,或者按照这样的方式添加它:

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

为了达到你在编辑文件框之前看起来像文本框的效果,你将DataGridViewComboBoxColumn DisplayStyle属性设置为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单元格的基础控件。