Отображение связанных данных в столбце данных - PullRequest
1 голос
/ 01 января 2011

У меня есть сетка данных, привязанная к источнику привязки. Два столбца содержат значения, которые ссылаются на первичные ключи в других таблицах. Вместо отображения значений первичного ключа я хотел бы отобразить название элемента, связанного с первичным ключом. Другими словами, значение первичного ключа может быть 3, но я хочу отобразить «Furnace 5» в сетке данных вместо 3 (которое оно теперь отображает).

1 Ответ

1 голос
/ 02 января 2011

Есть как минимум четыре способа сделать это (от самого простого до самого сложного)

1) Linq to DataSet Это предполагает типизированный DataSet с двумя DataTables Products и ProductTypes.Это не требуется (они не обязательно должны находиться в одном наборе данных, а ProductType не обязательно должен быть DataTable)

для использования linq для набора данных требуется .NET 3.5 и выше

Dim ProductList = _
            (From product In p.products.AsEnumerable() _
            Join types In p.productTypes.AsEnumerable() _
            On product.ProductTypeID Equals types.ProductTypeID _
            Select New With {
                .ProductId = product.ProductID, _
                .Description = product.Description, _
                .Type = types.Description}).ToList

        Me.DataGridView1.DataSource = ProductList

2) Получите данные так, как вам нужно, и привяжите их к нужному столбцу

3) Не используйте TextBoxColumn и вместо него используйте ComboBoxDataColumn .

4) Создать пользовательский DataGridViewColumn , который выполняет поиск.

...