DataGridView,数据绑定和ComboBox过滤

时间:2010-08-21 13:59:08

标签: c# winforms ado.net datagridview

我有一个带有组合框列的DataGridView,显示可能的价格,我只想显示与特定行相关的价格。

在更多细节中,假设我有一个类方法,它返回一个数据集,其中填充了2个表(由在SQL Server 2005数据库上运行的存储过程提供)。

第一个表包含订单明细行,第二个表包含每个产品的有效价格。

基本上,我的数据集中的DataTables看起来像这样。

OrderDetails

ProductType  | ProductID | Qty | SelectedPrice     |
DairyProduct |  Milk     |  5  |  5.50             |
Fruit        | Orange    |  7  |  6.90             |

依旧......

在数据集的价格表上,我对订单日期的所有商品都有效。

Prices

ProductType  | ProductID | Price     |
DairyProduct | Milk      |   5.50    | 
DairyProduct | Milk      |   6.90    |
DairyProduct | Milk      |   7.90    |
Fruits       | Orange    |   6.90    |
Fruits       | Orange    |   4.50    |

依旧......

我将OrderDetails表绑定到DataGridView,用户需要修改它。

我希望DataGridView的价格列显示我的第二个数据集表格中的价格。

我已经设法做到了,我现在每行都有一个组合框,但是ComboBox显示了我的价格表中的所有价格,而我想要的只是它显示的价格对此有效特别的产品。 例如,如果用户单击Milk行上的DataGridView,它应该只显示牛奶的价格而不是所有牛奶的价格。

我不确定如何实现这一目标。 任何指针或示例?

提前多多感谢!

我正在开发VS 2008,使用C#和WinForms。

1 个答案:

答案 0 :(得分:2)

看起来你需要将combo不是直接绑定到datasource而是绑定到object。该对象是按productID分组的价格列表