添加的DataRow不会被删除做table.Rows[i].Delete()?

Posted

技术标签:

【中文标题】添加的DataRow不会被删除做table.Rows[i].Delete()?【英文标题】:DataRow which is added is not going to be delete doing table.Rows[i].Delete()? 【发布时间】:2010-09-23 09:30:07 【问题描述】:

这是为什么呢?添加数据行的状态。当我删除该行时,状态不变。为什么不删?这就是我的删除存储过程从未被调用的原因!

编辑:数据行是新添加的,然后我尝试将其删除。

【问题讨论】:

【参考方案1】:

请显示您的代码。我的测试表明一切正常:

        DataTable dt = new DataTable();
        DataRow dr = dt.NewRow();
        dt.Rows.Add(dr);
        Console.WriteLine(dr.RowState);
        dr.Delete();
        Console.WriteLine(dr.RowState);

输出是:

        Added
        Detached

【讨论】:

为什么会分离?不应该删除吗? @Lisa 它已分离,因为之前已添加它并且不接受状态更改。如果你先做dt.ApplyChanges(),状态将是Unchanged,如果你删除它,它将是Deleted

以上是关于添加的DataRow不会被删除做table.Rows[i].Delete()?的主要内容,如果未能解决你的问题,请参考以下文章

向/从 DataTable 添加/删除 DataRow 的正确方法是啥

MySqlDataAdapter.update()不会使用DataRelation更新DataRow

Datatable删除行的Delete和Remove方法

DataRow[]

vue+ element table如何给指定的单元格添加点击事件

c# datarow[] 转换成 datatable