我有一個DataGridView中有一個ComboBox列,顯示可能的價格,我想只顯示與特定行有關的價格。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的價格列顯示數據集的第二個表中的價格。
我已經設法做到了這一點,我現在每行都有一個組合框,但組合框顯示我價格表中的所有價格,我想要的是隻顯示價格有效的價格該特定產品。 例如,如果用戶單擊Milk行上的DataGridView,它應該只顯示牛奶的價格,而不是所有的價格。
我不知道如何實現。 任何指針或示例?
非常感謝!
我正在開發VS 2008,C#和WinForms。
您可以發佈您用於爲每行創建組合框的代碼嗎?這是需要更改的代碼,因爲它需要被過濾。看到代碼將會有很大幫助! – InSane 2010-08-21 14:07:57
沒什麼複雜的,只是創建一個DataGridViewComboBoxColumn並使用dataGridViewInstance.Columns.Add方法將其添加到我的DataGridView,並使用DataSource,ValueMember和DisplayMembers屬性將此列綁定到我的數據集表。 – 2010-08-21 14:30:05