У меня есть 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 отображает все цены из моей таблицы цен, и мне хотелось бы, чтобы только он отображал цены, действительные для этого конкретный продукт.
Например, если пользователь щелкает DataGridView в строке «Молоко», он должен отображать только цены на молоко, а не все из них.
Я не уверен, как этого добиться.
Есть указатели или примеры?
Заранее большое спасибо!
Я работаю на VS 2008, на C # и WinForms.