1

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

4

1 回答 1

1

至少有四种方法可以做到这一点(从最简单到最难)

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 。

于 2011-01-02T04:15:35.213 回答