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