【发布时间】:2016-10-11 00:37:26
【问题描述】:
我有一个带有 ComboBox 列的 DataGridView。我需要它根据行有不同的选项。这些值需要基于相同的初始列表,但经过过滤以不显示任何已使用的值。
例如,我有 4 个下拉选项:“A”、“B”、“C”和“D”,共 4 行。最初,没有为组合框列设置任何行值。我单击的第一个下拉菜单应该会看到所有选项。假设我选择“A”。现在,如果我点击另一行的下拉菜单,我现在应该只会看到“B”、“C”和“D”,因为“A”已经被使用了。
我也想一直在顶部有一个空选项。
当我尝试这样做时,我得到一个 DataRow 错误。我尝试使用 CellClick 和 CellBeginEdit 动态设置 ComboBox。在这两种情况下,我都会遇到意外行为。有时已经选择的值行的值会发生变化,因为先前设置的值不再在选择中。有时什么都不会发生。
请注意,我已经准备好几个小时搜索 Stack Exchange,但没有一个“解决方案”真正起作用。
编辑:似乎通过使用 CellBeginEdit 设置 ComboBox 项,基础数据很好。问题只是组合框中显示的选定值。如果我只选择单元格而不下拉组合框,则值会刷新到应有的值。
【问题讨论】:
标签: c# datagridview datagridcomboboxcolumn