bindingsource にバインドされた datagridview があります。2 つの列には、他のテーブルの主キーにリンクする値が含まれています。主キーの値を表示する代わりに、主キーに関連付けられたアイテムの名前を表示したいと考えています。つまり、主キーの値は 3 かもしれませんが、datagridview に 3 (現在表示されている) ではなく「Furnace 5」を表示したいと考えています。
質問する
939 次
1 に答える
1
これを行うには、少なくとも 4 つの方法があります (最も簡単なものから最も難しいものまで)。
1) Linq to DataSet これは、2 つの DataTables Products と 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)ルックアップを行うカスタム DataGridViewColumnを作成します。
于 2011-01-02T04:15:35.213 に答える