Привязка ComboBox с использованием DataContext и LINQ to SQL - PullRequest
0 голосов
/ 30 ноября 2009

У меня есть простая база данных SQLite, которую я использую для отслеживания счетов. Недавно я решил написать заявку на нее в качестве предлога для изучения LINQ. Я нашел другие вопросы , которые касаются этой проблемы, но ни одно из решений не помогло мне.

Используя конструктор O / RM, я смоделировал свою базу данных следующим образом (упрощенно):

+------------+           +----------+
|  Invoice   |           | Customer |
+------------+           +----------+
| ID         |      +----| ID       |
| CustomerID |<-----+    | Name     |
+------------+           +----------+

Это прекрасно работает для привязки таблицы счетов к списку и просмотра списка клиентов, но я не совсем понимаю, как привязать таблицу клиентов к ComboBox, показывая Customer для счета.

Вот код, который устанавливает привязку:

InvoiceList.DataSource = _db.Invoices;  // InvoiceList is ListBox
CustomerBox.DataSource = _db.Customers;  // CustomerBox is ComboBox
CustomerBox.DataBindings.Add("SelectedItem", InvoiceList.DataSource, "Customer");

В этом случае _db - это DataContext, сгенерированный O / RM.

Когда я выбираю разные позиции в списке счетов, в окне клиента не отображаются какие-либо сделанные мной изменения. Любые указатели, как это исправить? Есть ли лучший способ установить эту привязку?

1 Ответ

1 голос
/ 30 ноября 2009

Вы смотрели на использование BindingContext ?

А вот чуть менее непрозрачное описание :)

...