C# 如何将下拉列表绑定到datagridview,而无需手动构建列

C# 如何将下拉列表绑定到datagridview,而无需手动构建列,c#,winforms,datagridview,C#,Winforms,Datagridview,我正在尝试将我的一个字段设置为datagridview上的下拉列表,而无需大量手动代码。目前,我正在使用AutoGenerateColumns=false并创建列并逐个添加它们 dataGridView3.AutoGenerateColumns = false; DataGridViewComboBoxColumn reasonCode = new DataGridViewComboBoxColumn() {

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

dataGridView3.AutoGenerateColumns = false;
DataGridViewComboBoxColumn reasonCode = 
    new DataGridViewComboBoxColumn() {
                                       DataPropertyName = "REASON", 
                                       HeaderText = "Reason Code" 
                                     };
dataGridView3.Columns.Add(reasonCode);
这是可行的,但在我添加列时维护起来会很繁琐。当我让控件自动生成列时,它非常简单,但我不知道如何使它显示组合框

问题是:有没有办法配置要绑定的datatable,以便datagridview知道如何显示我的组合框?还是有更有效的方法


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

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

发件人:

当此属性设置为true时,将自动生成列 并设置或更改数据源或数据成员属性。 当AutoGenerateColumns属性从false更改为true时,也可以自动生成列。如果 属性为true,并且数据源发生更改,因此有 与上一个数据源值的列不匹配,数据位于 不匹配的列将被丢弃。如果 未设置数据源或数据成员属性


(添加了强调)

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

发件人:

当此属性设置为true时,将自动生成列 并设置或更改数据源或数据成员属性。 当AutoGenerateColumns属性从false更改为true时,也可以自动生成列。如果 属性为true,并且数据源发生更改,因此有 与上一个数据源值的列不匹配,数据位于 不匹配的列将被丢弃。如果 未设置数据源或数据成员属性

(增加重点)