처음에는 m_dsMain.Tables[0].Rows 수만큼 loop 처리해서 해야 하는 줄 알았는데 그러니...
컬렉션이 변경되었다며 에러가 나는구나.
-
foreach (DataRow dr in m_dsMain.Tables[0].Select())
-
{
-
if (dr["SEQ"].ToString() == "3")
-
{
-
m_dsMain.Tables[0].Rows.Remove(dr);
-
}
-
}
Select() 메소드는 Row를 다이내믹하게 불러와 처리하게 되므로 문제가 없다고 한다.
<참조> http://blog.naver.com/PostView.nhn?blogId=zehny&logNo=140098866676
추가는 이렇게
-
DataRow dr = dsGrid.Tables[0].NewRow();
-
dr["SEQ"] = Convert.ToString(dsGrid.Tables[0].Rows.Count + 1);
-
dr["DATE"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
-
dr["TMNO"] = sTM_NO;
-
dr["ITEM"] = sItem;
-
dsGrid.Tables[0].Rows.Add(dr);
삭제할때 정확한 index를 알고 있다면
-
m_dsMain.Tables["Main"].Rows.RemoveAt(gridMain.ActiveRow.Index);
이렇게 사용해도 된다.
첨에 DataSet 핸들링이 어려워 너무 고생했다. 물론 아직 DataSet은 내 손에 익진 않지만 dataset을 알고자 할때
DataTabe, DataRow를 알면 GameSet이 아닌가 하는 생각이 든다.
'020. Prigraming > 01. C#' 카테고리의 다른 글
[C#] dataGridView 내부에서 copy&paste 기능 (0) | 2012.06.04 |
---|---|
[C#] DataGridView - Related Contents (0) | 2012.06.04 |
[C#] 쓰레드 사용시 Invoke 처리 (0) | 2012.05.03 |
[C#] UltraGrid 추가, 삭제 그리고 Dataset 핸들링 (1) | 2012.05.03 |
[C#] 로컬 IP 구하기 (0) | 2011.12.28 |
WRITTEN BY
- 테네시왈츠
항상 겸손하게 항상 새롭게 항상 진실하게
,