2016-09-22 2 views
0

데이터 테이블을 작성할 ".xml"파일을 읽습니다. 데이터 테이블의 열은 ".xml"파일에 따라 다릅니다. 다음은 그 예입니다. enter image description here데이터 테이블의 열을 병합하십시오.

위의 예에서 data1, data2, data3 ... 등은 .xml 파일에서 가져옵니다. 열 머리글 (item1, item2, item3 ... 등)과 관련하여 데이터 (a, b, c, d, as, asd .. 등)가 추가됩니다.

행의 내용과 관련하여 열을 병합하려고합니다. 첫 번째 열 (item1)의 data1은 4 번째 열 (item4)의 data1과 병합되어야하며 4 번째 열은 삭제되어야합니다. 가능한가? enter image description here

+0

더 정교한 것

다음

는 예상 출력? –

+0

@ user6002727 첫 번째 행의 내용이 동일하면 열을 병합하고 싶습니다. –

+0

하지만 첫 번째 열에 ** asd **가 없습니까? 그래서 당신은 어떻게 예상 결과를 줄 수 있습니까? –

답변

2

이 마십시오 :

static DataTable GetTable() 
    { 
     // Here we create a DataTable with four columns. 
     DataTable table = new DataTable(); 
     table.Columns.Add("Item1", typeof(string)); 
     table.Columns.Add("Item2", typeof(string)); 
     table.Columns.Add("Item3", typeof(string)); 
     table.Columns.Add("Item4", typeof(string)); 

     // Here we add five DataRows. 
     table.Rows.Add("a", "as", "asd", ""); 
     table.Rows.Add("b", "asd", "asd", ""); 
     table.Rows.Add("c", "a", "asd", ""); 
     table.Rows.Add("d", "a", "asd", ""); 
     table.Rows.Add("", "", "", "a"); 
     table.Rows.Add("", "", "", "d"); 
     table.Rows.Add("", "", "", "asd"); 
     return table; 
    } 

    DataTable dt = GetTable(); 
    foreach (DataRow dr in dt.Rows) 
    { 
     if (!String.IsNullOrEmpty(dr["Item4"].ToString()) && String.IsNullOrEmpty(dr["Item1"].ToString())) 
     { 
      dr["Item1"] = dr["Item4"].ToString(); //assign value of column 4 to column1 
     } 
    } 
    dt.Columns.Remove("Item4"); //delete column 4 
+0

감사합니다 :) 그 일. –

관련 문제