我正在使用DataGridView
其中一些DataGridViewComboBoxColumns
列指向不同的数据视图。当我使用过滤的数据视图设置数据源时,一切看起来都很好,但有时当组合更改时,数据网格视图填充了不正确的值。只有当 Combo 的未过滤数据包含具有相同值的多行时,才会发生这种情况,这些行将分配给父 Datagridview 的 DisplayMember。
例如(简单示例)客户的数据网格:
Name Country Shipping town
Country
&Shipping town
是基于国家和城镇表的数据视图外键的组合。显然, 的组合Shipping towns
被过滤以仅显示相应国家/地区的组合。如果 table ofShipping towns
包含 Torquay 的两个条目,一个在英格兰,一个在澳大利亚,当客户的国家是 England 时,会显示所有在Shipping Towns
England 的条目,如果选择 Torquay,则返回给父 datagridview 的值是 Torquay 的键值在澳大利亚,即使组合的过滤数据视图甚至不包含该值。仅当用作 Combo 的显示成员的数据视图列包含重复值时,才会发生这种情况。