我有一个包含4列的DataGridView,其中一列是下拉列表(ComboBox)。此列中的值必须是不同的,因此一旦在一行中选择了给定的下拉值,我希望它在其他行的任何下拉列表中都不可用。如果未选择给定值,则应再次显示在下拉列表中。我发现了一些类似示例的文章(1,2,3);但是,所有这些似乎都涉及订阅事件并手动填充ComboBox。
all.Except(selected)
Linq查询)?我对WinForms的开发有点新意,所以很难分辨出好的建议“是的......这样做会有所帮助。”
答案 0 :(得分:1)
我担心你的搜索到目前为止是正确的 - 没有更好的方法可以在同一个DataGridView列中为组合框提供不同的列表而不是订阅事件(通常是CellBeginEdit
和CellEndEdit
然后设置个人DataGridViewComboBoxCell
)的数据源。
通过这方面的证据,我将向您介绍由Microsoft的DataGridView项目经理Mark Rideout编写的优秀DataGridView FAQ。常见问题解答有一个完整的问题解决方案,与您发布的链接非常相似。