WPF - Bind DataGridTextColumn из id -> поле дочерней таблицы - PullRequest
0 голосов
/ 08 ноября 2010

У меня есть сетка данных, которая заполняется таблицей sql. Одним из полей является идентификатор, связанный (один ко многим) с другой таблицей в базе данных. Когда я показываю это поле в базе данных, я хотел бы показать его как TextBlock / DataGridTextColumn, который ссылается на поле имени в дочерней таблице. Дочерняя таблица предварительно загружена в модель представления как DataContext MainWindow.

Я пытался сделать это с помощью индексаторов свойств, но кажется, что индекс не может быть переменным, например;

<DataGridTextColumn Header="Supplier name" Binding="{Binding Path=DataContext.Suppliers[{Binding SupplierID}].SupplierName, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>

Я пытаюсь сделать что-то не то здесь? Должен ли я вместо этого использовать конвертер? Или я должен просто привязать сетку данных к представлению SQL, которое содержит поле id и имя?

1 Ответ

0 голосов
/ 08 ноября 2010

Вы должны быть в состоянии использовать MultiBinding с конвертером. Посмотрите здесь и в вашем случае передайте 'Suppliers' и 'SupplierID' в MultiValueConverter.

...