1

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

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

我不知道必须重写哪个函数。

在 DataGridTextBoxColumn 中有功能 Edit,我可以在此功能期间绘制我的组合框吗?

4

1 回答 1

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 单元格的基础控件。

于 2011-09-19T13:00:05.113 回答