2

我正在尝试将我的一个字段设置为 datagridview 上的下拉列表,而无需大量手动代码。目前,我正在使用 AutoGenerateColumns = false 并创建列并一一添加。

dataGridView3.AutoGenerateColumns = false;
DataGridViewComboBoxColumn reasonCode = 
    new DataGridViewComboBoxColumn() {
                                       DataPropertyName = "REASON", 
                                       HeaderText = "Reason Code" 
                                     };
dataGridView3.Columns.Add(reasonCode);

这可行,但在我添加列时维护起来可能很乏味。当我让控件自动生成列时,这很简单,但我不知道如何让它显示组合框。

问题是:有没有办法配置正在绑定的数据表,以便 datagridview 可以知道如何显示我的组合框?或者有没有更有效的方法来做到这一点?

几乎我所有的列都能完美地自动生成,正是这个组合框迫使我手动创建所有列。

4

1 回答 1

0

您可以尝试手动添加您的DataGridViewComboBoxColumn手动然后设置AutoGenerateColumns为 true 以生成剩余的列。不过我还没有测试过,所以我不知道它是否能解决你的问题。

来自MSDN - DataGridView.AutoGenerateColumns 属性

当此属性设置为 true 并且设置或更改 DataSource 或 DataMember 属性时,会自动生成列。 当 AutoGenerateColumns 属性从 false 更改为 true 时,也可以自动生成列。如果此属性为 true 并且 DataSource 发生更改,因此存在与先前 DataSource 值的列不匹配的列,则不匹配列中的数据将被丢弃。如果未设置 DataSource 或 DataMember 属性,则忽略此属性。

(重点补充)

于 2012-08-01T15:12:53.410 回答