2

我遇到了以下问题:

我用 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 :

在此处输入图像描述

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

在此处输入图像描述

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

在此处输入图像描述

我该如何解决这个问题?

4

1 回答 1

1

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

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

于 2017-10-17T07:53:01.407 回答