DataGridView中的级联组合框

本文关键字:组合 级联 DataGridView | 更新日期: 2023-09-27 18:19:56

我有一个带有两个相邻组合框列的DataGridview。第一个(称为StockCategory)绑定到SQLServer2012中StockCategory表上的bindingsource。下一列是Stock组合框,绑定到Stock表上的bindingsource。要求很简单:当用户从第一个组合框中选择一个库存类别时,"库存"组合框中唯一可用的库存项目应该是所选库存类别中的库存项目。

根据"库存"类别选择,为"库存"表设置过滤器,效果良好:

this.StockBindingSource.Filter = "MaterialGroup = " + this.radGridView1.CurrentRow.Cells["MatGroup"].Value;

除了在这种情况下,Stock列中的所有组合框都会被过滤为过滤值,而其他行中以前的Stock值似乎会消失。

我知道这是一个老问题,我一直在网上寻找各种随机的解决方案,但似乎都不起作用。

任何帮助都将不胜感激(我使用的是RadGridView,但解决方案可能是通用的?)

DataGridView中的级联组合框

我有一个通用的解决方案,但它对你可能不如对我好。你看,当.Net代码对我来说似乎失败时,我只是更喜欢使用我自己的代码。所以我的建议是离开win-forms DataGridview过滤器,在StockCategory组合框中附加值更改事件,并在Stock组合框中过滤你自己的值。

你能做到吗?