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