我有一个带有组合框列的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。
答案 0 :(得分:2)
看起来你需要将combo不是直接绑定到datasource而是绑定到object。该对象是按productID分组的价格列表