2010-06-15 3 views
0

테이블의 데이터로 채워지는 DataGridView가 있습니다. 이 테이블 내부에는 다른 테이블의 개별 그룹 ID가있는 '그룹'이라는 열이 있습니다.'상호 참조'DataTable의

DataGridView가 채워 졌을 때 'group'에 포함 된 ID를 표시하는 대신 그룹의 이름을 표시하고 싶습니다. 이 일을 할 수있는 VB.net의 '마술'이 있습니까? 아니면 직접 데이터를 상호 참조해야합니까?


ID

중량
last_update

표 2 (이 표 2에 열 ID의 값을 유지) : 여기

는 2 개 테이블이 생겼는지의 내역
id
설명 (DGV에 표시하고 싶습니다.)

BTW - Visual Studio Express를 사용하고 있습니다.

+0

이것은 VB.NET과 전혀 관련이 없습니다. DataGridView, DataTable 등은 VB.NET의 일부가 아닙니다. 이들은 .NET Framework의 일부입니다. –

답변

0

가장 간단한 방법은 이렇게하는 것입니다.

  1. 먼저, (표 1의 group 열로 표 2의 id 열과 자식으로 부모) 표 1과 표 2 사이에 설정 일대 다 관계를 확인합니다.
  2. table1에 "group_description"열을 추가하고 Expression 속성을 Parent.description으로 설정하십시오. 다음과 같을 수이 작업을 수행하는

귀하의 코드 : 당신이 볼 수 있도록하지 않으려면

' In case you do not have this relation set up already: ' 
Dim relation = New DataRelation(_ 
    "table2_table1", _ 
    table2.Columns("id"), _ 
    table1.Columns("group") _ 
) 

dataSet1.Relations.Add(relation) 

' This new column will automatically be updated with the description column ' 
' from table2. '  
Dim groupDescriptionColumn = table1.Columns.Add(_ 
    "group_description", _ 
    GetType(String) _ 
) 

groupDescriptionColumn.Expression = "Parent.description" 

그런 다음 당신은 항상, 원래 group 열을 숨길 수 있습니다.