【问题标题】:c# DataGridViewComboBoxColumn selectedValue spread throughout the whole linec# DataGridViewComboBoxColumn selectedValue 遍布整行
【发布时间】:2017-10-17 07:47:56
【问题描述】:

我遇到了以下问题:

我用7个DataGridViewComboBoxColumn构建了一个dataGridView,添加如下代码

foreach (string jour in Enum.GetNames(typeof(Jours)))
        {
            DataGridViewComboBoxColumn comboboxColumn = CreateComboBoxColumn();
            List<Journee> myJourneeList = new List<Journee>(mydatas.journeeTypeList.ToList());
            comboboxColumn.DataSource = myJourneeList;
            comboboxColumn.DisplayMember = "name";
            comboboxColumn.ValueMember = "id";
            comboboxColumn.DataPropertyName = "id";
            comboboxColumn.HeaderText = jour;
            dataGridView_machineSemaines.Columns.Add(comboboxColumn);
            setSelectedValue(jour, myJourneeList);
        }

我得到以下 dataGridView :

如果我在一个组合框中选择了一个新值:

如果我滚动(使用水平滚动)(或者如果我打开另一个选项卡并返回此选项卡),那么整行将获得相同的 selectedValue:

我该如何解决这个问题?

【问题讨论】:

    标签: c# .net winforms datagridview datagridviewcomboboxcolumn


    【解决方案1】:

    您对所有列使用相同的DataPropertyName。所以行为是预期的。事实上,所有列都显示一个值。您的网格数据源的id 属性。

    如果您希望它们显示不同的值,请使用不同的DataPropertyName,或者换句话说,将它们绑定到不同的列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多