现在我需要在DataTable删除我不需要的DataRow foreach (DataRow drw in dtResult.Rows) 我现在写了上面的方法,但是执行到第二次就会报错,提示枚举之类的错误。想了很多方法都不稳妥,希望大家帮帮忙,多谢了 |
|
40分 |
int[] ar = new int[dtResult.Rows.Count];
for (int i = 0; i < dtResult.Rows.Count; i++) { if (dtResult.Rows[i][0].ToString() ==”0″) { ar[i] = i; } } for (int num=ar.Length-1; num > -1 ;num– ) 可以试试 |
DataTable dtResult = new DataTable(); DataColumn dc = new DataColumn() { ColumnName = "ID" }; dtResult.Columns.Add(dc); DataRow dr = dtResult.NewRow(); dr[0] = "0"; dtResult.Rows.Add(dr); dr = dtResult.NewRow(); dr[0] = "0"; dtResult.Rows.Add(dr); dr = dtResult.NewRow(); dr[0] = "1"; dtResult.Rows.Add(dr); dr = dtResult.NewRow(); dr[0] = "1"; dtResult.Rows.Add(dr); DataRow drw ; int j = dtResult.Rows.Count; for (int i = 0; i < j; i++) { drw = dtResult.Rows[0]; if (drw[0].ToString() == "0") { drw.Delete(); } } |
|
DataTable dtResult = new DataTable(); DataColumn dc = new DataColumn() { ColumnName = "ID" }; dtResult.Columns.Add(dc); DataRow dr = dtResult.NewRow(); dr[0] = "0"; dtResult.Rows.Add(dr); dr = dtResult.NewRow(); dr[0] = "0"; dtResult.Rows.Add(dr); dr = dtResult.NewRow(); dr[0] = "1"; dtResult.Rows.Add(dr); dr = dtResult.NewRow(); dr[0] = "1"; dtResult.Rows.Add(dr); DataRow drw ; int j = dtResult.Rows.Count; for (int i = 0; i < j; i++) { drw = dtResult.Rows[i]; if (drw[0].ToString() == "0") { drw.Delete(); i--; j--; } } 不好意思前面误导大家了,应该是在删完一条数据后,总数据要减1,index数也要-1。 |