【问题标题】:How to bind a dropdown to a datagridview without building the columns manually如何在不手动构建列的情况下将下拉列表绑定到 datagridview
【发布时间】:2012-08-01 14:59:26
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: c# winforms datagridview


    【解决方案1】:

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

    来自MSDN - DataGridView.AutoGenerateColumns Property

    当此属性设置为 true 时会自动生成列 并且 DataSource 或 DataMember 属性已设置或更改。 当 AutoGenerateColumns 属性从 false 更改为 true 时,也可以自动生成列。 如果这样 属性为 true 并且 DataSource 发生变化,因此有列 与前一个 DataSource 值的列不匹配,数据在 不匹配的列被丢弃。如果 未设置 DataSource 或 DataMember 属性。

    (已添加重点)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-25
      • 1970-01-01
      • 2021-02-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多