私はバインディングソースにバインドされたdatagridviewを持っています。 2つの列には、他の表の主キーにリンクする値が含まれています。プライマリキーの値を表示する代わりに、プライマリキーに関連付けられたアイテムの名前を表示したいと思います。言い換えれば、主キーの値は3かもしれませんが、3の代わりに "Furnace 5"をdatagridviewに表示したいとします(現在表示中です)。関連データをdatagridviewtextboxcolumnに表示
1
A
答えて
1
は、これを行うのに少なくとも4つの方法があります(最も簡単から最も難しいの)
1)Linq to DataSet この2つのDataTableの製品とProductTypesと型指定されたDataSetを前提としています。これは、(彼らは同じデータセットである必要はありませんとで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)ルックアップを行うcustom DataGridViewColumnを作成します。
関連する問題
ありがとう、コンラッド。私は提案#2と一緒に行ったが、すべてが良いオプションのように見える。 – blueshift