2012-10-15 3 views
0

CIT에 MIT, Oracle 및 Difference라는 세 개의 DataTable이 있습니다. 이 세 테이블을 별도의 열로 gridview에 추가하는 방법을 알려주십시오. 아래 주어진대로 DataTable을 gridview에 바인딩하는 방법을 알고 있습니다. 하지만 난 몇 DataTables.Please에 대해 수행 할 같은 필요의 GridView의하나의 DataGridview에서 여러 DataTable을 열로 변환

dataGridView1.DataSource = MIT; 

Here의 이미지를 도움이됩니다.

+0

이러한 DataTables를 병합해야합니다. 그러나 서로 어떻게 관련되어 있습니까? 참여할 수 있습니까? –

+0

"MIT"및 "Oracle"데이터 테이블의 부품 번호를 비교하여 차이를 "차이"데이터 테이블에 추가해야합니다. 모든 DataTable에는 "부품 번호"라는 하나의 열만이 있습니다. –

+0

감소 된 샘플 데이터와 원하는 결과를 표시 할 수 있습니까? –

답변

0

을 당신이 사용 후 DataSet로 테이블을 결합해야한다고 생각 : 그럼 당신이 연결할 수 있습니다 /의 GridView에 결과 DataTable에 바인딩 첫째 어떤 관계에 따라 하나에 이러한 테이블을 조인 할 수있는 방법이 있어야합니다 테이블 사이에 DataRelations을 생성하는 공통 열 (나는 하나 있다고 추정한다!). 이렇게하면 DataGridViewDataSet에 대한 쿼리 결과에 바인딩 할 수 있습니다.

자세한 내용은 here을 참조하십시오.

0

GridView에 이러한 세 가지 테이블을 추가하더라도 (각 DataTable의 열 추가). 세 가지가 모두 다르기 때문에 각 행의 데이터를 어떻게 채우겠습니까?

EnumerableRowCollection<DataRow> result = 
       from t1 in dt1.AsEnumerable() 
       join t1 in dt2.AsEnumerable() 
       on t1.Field<int>("KeyId") equals 
        t2.Field<int>("KeyId") 
       select new 
       { 
        KeyId = t1.Field<int>("KeyId"), 
        Column1 = t1.Field<string>("Column1"), 
        Column2 = t2.Field<string>("Column2"), 
        . 
        . 
       }; 

dataGridView1.DataSource = result.AsDataView(); 
+0

답변 주셔서 감사합니다 답변에 대한 –

0

여러 데이터 테이블을 하나의 데이터 테이블로 병합 한 다음 datagridview.below 링크에 데이터 소스로 제공하면 데이터 테이블을 하나로 병합하는 데 도움이됩니다.

http://www.aspnettutorials.com/tutorials/database/bind-mult-table-gridview-asp4.aspx

또는

적절한 조인을 사용하여 하나의 테이블에 데이터를 선택해야합니다. DataGridView는 단일 테이블 형식으로 데이터를 표시합니다. DataGridView에는 "다중 테이블"개념이 없습니다.

DataSet.Merge()은 개별 개체의 DataRow를 하나로 병합하는 데 도움이 될 수 있습니다.

+0

주셔서 감사합니다 –

관련 문제