我有一个带有两个相邻组合框列的 DataGridview。第一个(称为 StockCategory)绑定(bind)到 SQL Server 2012 中 StockCategory 表上的绑定(bind)源。下一列是 Stock 组合框,绑定(bind)到 Stock 表上的绑定(bind)源。要求很简单:当用户从第一个组合框中选择库存类别时,库存组合框中唯一可用的库存项目应该是所选库存类别中的那些。
根据股票类别选择为股票表设置过滤器,效果很好:
this.StockBindingSource.Filter = "MaterialGroup = " + this.radGridView1.CurrentRow.Cells["MatGroup"].Value;
除了在这种情况下,Stock 列中的所有组合框随后都被筛选为筛选值,而其他行中先前的 Stock 值似乎消失了。
我知道这是一个老问题,我一直在网上寻找各种随机解决方案,但似乎没有任何效果。
任何帮助将不胜感激(我正在使用 RadGridView 但解决方案可能是通用的?)
最佳答案
我有一个通用的解决方案,但对您来说可能不如对我有用。 你看,当 .Net 代码对我来说似乎失败时,我只是更喜欢使用我自己的代码。所以我的建议是保留 win-forms DataGridview 过滤器,附加到 StockCategory 组合框中的值更改事件,并在 Stock 组合框中过滤您自己的值。
你能做到吗?
关于c# - DataGridView 中的级联组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17305199/