2010-02-12 3 views
0

DataTable 개체에서 열과 모든 행 데이터를 가져 와서 다른 데이터 테이블에 새 열을 만들고 새 열과 행을 추가하려고합니다. 내가 마주 치게되는 문제는 열 이름처럼 행 데이터가 나올 것이라는 것입니다. 그러나 모든 열이 동일한 열에 추가됩니다. 분명히 뭔가 확실한 것이 빠졌습니다. 사실 나는 알고 있습니다! 어떤 도움이 크게 appriciated 있습니다. 당신은 단지 새로운 DataTable을의 첫 번째 열에서 오리지널 열 데이터를 가하고 있습니다 있도록 사용하는.Net DataTable 열 내보내기

void GetColumns() 
    { 
     // add the columns to the new datatable 
     foreach (int i in mapValues) 
     { 
      SplitData.Columns.Add(i.ToString()); 
     } 
     // map values contains the index numbers of my target columns 
     foreach (int x in mapValues) 
     { 

      foreach (DataRow row in OrigData.Rows) 
      { 
       SplitData.Rows.Add(row[mapValues[LocalIndex]]); 
      } 

      LocalIndex++; 
     } 
    } 
+0

코드를 게시하십시오 (개요). –

+0

이것이 문제가되는 곳입니다. 행렬과 함께 열을 반복해야한다는 것을 알고 있습니다.이 작업을 수행하는 명확한 방법을 보지 못했지만 ... – Yoda

답변

1

DataRow.Add 과부하는 PARAMS 하나입니다. 루프에 대한 두 번째의 핵심으로

DataRow newRow = SplitData.NewRow(); // gets a new blank row with the right schema 
newRow[x.ToString()] = row[mapValues[LocalIndex]; // sets the column (that you created before) to the orig data 
SplitData.Rows.Add(newRow); 

:

당신은 아마 뭔가를 원한다. 하나의 루프에서도 그렇게 할 수 있습니다.

+0

건배의 친구 나는 그것이 단순한 것임을 알고있었습니다. – Yoda

0

받아 들인 대답은 완전히 옳았지만 뭔가를 배웠지 만, DataTable.ImportRow 메서드가 내 필요에 맞게 원하는 결과를 얻었으므로 나중에 참조 할 수있는 사람을 위해 나중에 참조 할 수 있습니다.