C# DataTable不能通过已删除的行访问该行的信息

因为你的列删除了,所以你得判断下。这个是个枚举类型。

public DataTable RelshiYang (ref DataTable dt)
        {
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                if (dt.Rows[i].RowState == DataRowState.Deleted)
                    continue;
                string sph = dt.Rows[i]["试批号"].ToString();
                string syxmdm = dt.Rows[i]["实验项目"].ToString();
                string syh = dt.Rows[i]["试样号"].ToString();
                for (int y = 0; y < dt.Rows.Count; y++)
                {
                    if (dt.Rows[y].RowState == DataRowState.Deleted)
                        continue;
                    if (dt.Rows[y]["试批号"].ToString() == sph && dt.Rows[y]["实验项目"].ToString() == syxmdm)
                    {
                        if (dt.Rows[y]["试样号"].ToString() == syh)
                            continue;
                        else
                        {
                            string newstr = dt.Rows[i]["试样号"] + "," + dt.Rows[y]["试样号"].ToString();
                            dt.Rows[i]["试样号"] = newstr;
                            dt.Rows[y].Delete();
                        }
                    }
                }
            }
            return dt;
        }
posted @ 2019-03-18 16:41  ZaraNet  阅读(326)  评论(0)    收藏  举报