DataTable删除多条记录

 C#中删除DataTable的多条记录的正确代码示意如下:

            for (int i = AtblWork.Rows.Count - 1; i >= 0; i--)
            {
                if (AtblWork.Rows[i]["Ratio"].mmToDecimalDef(0) <= 0)
                    AtblWork.Rows.RemoveAt(i);
            }

  而用foreach(DataRow vRow in AtblWork.Rows)的方法会报错,提示类似如"集合已经改变,无法枚举"的错误信息。

  错误代码示意如下:

            foreach (DataRow vRow in AtblWork.Rows)
            {
                if (vRow.RowState == DataRowState.Deleted)
                {
                    continue;
                }
                if (vRow["Ratio"].mmToDecimalDef(0) <= 0)
                {
                    vRow.Delete();
                }
            }

posted @ 2011-08-03 12:11  C#老头子  Views(1998)  Comments(6Edit  收藏  举报