该属性返回的是不是table的行的克隆副本?
怎么发现修改这个返回不能改变table的行 
table.rows[0][0]="haha";

解决方案 »

  1.   

    后面加了AcceptChanges()也没用
    DataRow newRow = table.Rows.Find(e.OldFullPath);
                        if (newRow != null)
                        {
                            if (!CheckIfMedia(e.FullPath))
                                newRow.Delete();
                            else
                            {
                                newRow = CreateRow(e.FullPath);
                            }
                            table.AcceptChanges();                    }
      

  2.   

    我是想修改这一行
    如果使用newRow["path"]=e.FullPath这样是可以的
    但是如果把整个newRow用一个新对象赋值就不行 难道DataRow对象的Set访问器不让直接改变一整行?
      

  3.   

    DataRow newRow = table.Rows.Find(e.OldFullPath);
    这一句只是让newRow指向了table中的一行。你修改newRow指向的行的信息是可以影响到table中的行的。
    你修改newRow指向的地址,重新给指了个地址,table中的行是不会受影响的。
    比如,下面这样
    DataRow newRow = table.Rows.Find(e.OldFullPath);
    newRow = null;
    原来table中的那个行不会被你设置成null。