我正在尝试将我的一个字段设置为datagridview的下拉列表而不需要大量的手动代码。目前,我使用AutoGenerateColumns = false并创建列并逐个添加它们。
dataGridView3.AutoGenerateColumns = false;
DataGridViewComboBoxColumn reasonCode =
new DataGridViewComboBoxColumn() {
DataPropertyName = "REASON",
HeaderText = "Reason Code"
};
dataGridView3.Columns.Add(reasonCode);
这样可行,但在添加列时可能会很难维护。当我让控件自动生成列时,它非常简单,但我不知道如何让它显示组合框。
问题是:有没有办法配置绑定的数据表,以便datagridview可以知道如何显示我的组合框?或者有更有效的方法吗?
我的几乎所有列都完全自动生成,只是这一个组合框迫使我手动创建它们。
答案 0 :(得分:0)
您可以尝试手动将DataGridViewComboBoxColumn
手动添加到然后设置AutoGenerateColumns
为true,以生成剩余的列。我没有测试过这个,所以我不知道它是否会解决你的问题。
来自MSDN - DataGridView.AutoGenerateColumns Property:
当此属性设置为true时,将自动生成列 并设置或更改DataSource或DataMember属性。 当AutoGenerateColumns属性从false更改为true时,也可以自动生成列。如果这样 property为true且DataSource发生更改,因此存在列 不匹配先前DataSource值的列,数据中的数据 不匹配的列被丢弃。如果是,则忽略此属性 未设置DataSource或DataMember属性。
(强调补充)