2011-01-01 11 views
1

데이터 바인딩 뷰를 바인딩 소스에 바인딩했습니다. 두 개의 열은 다른 테이블의 기본 키에 링크되는 값을 포함합니다. 기본 키 값을 표시하는 대신 기본 키와 연관된 항목의 이름을 표시하려고합니다. 다시 말해, 기본 키 값은 3 일 수 있지만 3 대신 (이제 표시) "Furnace 5"를 datagridview에 표시하려고합니다.datagridviewtextboxcolumn에 관련 데이터 표시

답변

1

는이 일을 적어도 네 가지 방법이 있습니다 (쉬운에서 어려운까지)

1) Linq to DataSet 이 두 DataTables 제품 및 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 

이 필요) 필요한 방식으로 데이터를 검색하고 원하는 열에 바인딩하십시오.

3) TextBoxColumn을 사용하지 말고 대신 ComboBoxDataColumn을 사용하십시오.

4) 조회를 수행하는 custom DataGridViewColumn을 만듭니다.

+0

감사합니다. Conrad. 나는 제안 # 2와 함께 갔지만 모두 좋은 옵션처럼 보인다. – blueshift