在datagridviewtextboxcolumn中显示相关数据

时间:2011-01-01 13:23:14

标签: .net vb.net winforms datagridview datagridviewtextboxcell

我有一个绑定到bindingsource的datagridview。其中两列包含链接到其他表中主键的值。我想显示与主键关联的项的名称,而不是显示主键值。换句话说,主键值可能是3但我想在datagridview中显示“Furnace 5”而不是3(它现在显示)。

1 个答案:

答案 0 :(得分:1)

至少有四种方法(从最简单到最难)

1)Linq to DataSet 这假设一个带有两个DataTables产品和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