2009-08-26 5 views
7

DataTable을 가지고 있고 새 행을 만들려면 먼저 DataTable.NewRow()을 호출하여 DataRow를 반환합니다. 이 행에는 테이블의 스키마가 있으며 행의 각 필드 값을 설정할 수 있습니다. 이 시점에서 테이블은 행에 대해 "알고"있습니까? 아니면 DataTable.Rows.Add(DataRow row)을 호출 한 후에 만 ​​발생합니까?동일한 DataRow를 DataTable에 여러 번 추가 할 수 있습니까?

DataTable.Rows.Add()을 더 호출하면 중복 된 값으로 데이터 테이블에 중복 행이 생성됩니까?

내가 묻는 이유는 트리 구조를 반복하고 DataTable에 값을 채우는 재귀 함수를 작성하려고하기 때문입니다. 따라서 각 하위에 대해 만들어지는 행에는 부모로부터 온 것이므로 모두 동일한 값을 가진 열이있는 상황이 있습니다.

제 아이디어는 각 자식에게 부모 정보가있는 DataRow를 전달하는 것이 었습니다. 자식은 정보를 추가 한 다음 행을 테이블에 추가합니다. 그러나 각 자식에 대해 DataTable.NewRow()을 호출해야하는지 또는 동일한 행을 여러 번 추가하면 새 행이 자동으로 만들어 지는지 파악하려고합니다.

+0

예외 오류가 발생합니다. 감사! – Jeffrey

답변

14

아니, 당신이 얻을 수 있도록 당신이 원하는 것은 (기존 행이 existingRow라는 변수에 있다고 가정) 행을 복사하는 것은 쉽다 :

var newRow = dataTable.NewRow(); 
newRow.ItemArray = existingRow.ItemArray; 
dataTable.Rows.Add(newRow); 
0

아니요, System.ArgumentException 유형의 예외가 생성됩니다.

+0

동일한 값을 가진 중복 DataRow를 만드는 쉬운 방법이 있습니까? –

-1

난 당신이 배열에 데이터를 입력하는 것이 좋습니다 데이터 표 에 데이터를 추가하십시오. 14 시간 전 물었고, 나는 비슷한 일을 찾고 갔을 때 이미 구글에 나타났다 -

yourDataTable.Rows.Add(data[0]........); 

newdatarow 와우