如何在不手动构建列的情况下将下拉列表绑定到datagridview

时间:2012-08-01 14:59:26

标签: c# winforms datagridview

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

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

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

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

我的几乎所有列都完全自动生成,只是这一个组合框迫使我手动创建它们。

1 个答案:

答案 0 :(得分:0)

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

来自MSDN - DataGridView.AutoGenerateColumns Property

  

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

(强调补充)