DataGridViewComboBox 在不需要时更改行

Posted

技术标签:

【中文标题】DataGridViewComboBox 在不需要时更改行【英文标题】:DataGridViewComboBox changes row when not needed 【发布时间】:2014-12-24 07:30:12 【问题描述】:

我可能做错了,但是...

我有一个数据网格视图。它的 DataSource 是 BindingSource,它有一个表作为 DataSource。 我在 datagridview 中创建了一个组合框并使用以下方法填充它:

col.Name = "employee_comb";
col.DisplayMember = "work";
col.ValueMember = "work_id";
col.DataPropertyName = "work";

col.DataSource = bs;
dataGridView1.Columns.Insert(3, col);

work 包含字符串,work_id 包含 int。

我还有 CurrentCellDirtyStateChanged 事件来检查更改。

问题是:当我在组合框列表中选择另一个项目时,datagridview 会自动将其 CurrentRow 更改为 CurrentRow,其“id”(第一列)等于组合框项目的 ValueMember。如何阻止它切换?

【问题讨论】:

【参考方案1】:

似乎是因为datagridview 和datagridviewcombobox 具有相同的DataSource 造成的问题。我创建了新的 BindingSource,它就像魅力一样!

【讨论】:

以上是关于DataGridViewComboBox 在不需要时更改行的主要内容,如果未能解决你的问题,请参考以下文章

将 DataGridViewComboBox 默认设置为等于现有 DataGridView 列

DataGridViewComboBox 数据源

DataGridViewCombobox 列中的自动完成有啥奇怪的行为?

DataGridViewComboBox 索引更改事件故障

在 DataGridViewComboBox 下拉列表中设置特定项目的颜色

如何从填充 DataGridViewComboBox 中选择一个项目