|
现在我需要在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。 |
|