EMDI는 지금도 개발중

C# : 이 행은 이미 다른 테이블에 속해있습니다. System.ArgumentException 오류 본문

언어/C#

C# : 이 행은 이미 다른 테이블에 속해있습니다. System.ArgumentException 오류

EMDI 2021. 4. 26. 12:46
DataTable dt = flexGrid1.DataTable.Copy();
COPY_DT = dt.Clone();
// 이미 갖고 있는 DataTable에 특정 index의 Row만 add하고 싶은 경우
COPY_DT.Rows.Add(dt.Rows[index]);
COPY_DT.AcceptChanges();

예시 소스와 같이 dt.Rows[index]를 해버리면, [이 행은 이미 다른 테이블에 속해 있습니다] 라는 System.ArgumentException 오류가 발생하게 됩니다. 이런 경우에는 dt.Rows.Add에 바로 dt.Rows[index]를 넣지 말고 다른 방법으로 add를 해주어야 합니다.

1. COPY_DT.ImportRow(dt.Rows[index]); 
2. COPY_DT.Rows.Add(dt.Rows[index].ItemArray); 
Comments