【问题标题】:datatable row deleting problem数据表行删除问题
【发布时间】:2011-05-10 03:21:12
【问题描述】:

datatable中有删除行的命令Delete();

但这只是删除它而不是像vector或arraylist那样向上移动以下行。

例如,数据表中有 3 行。

第 1 行,数据 1

第 2 行,数据 2

第 3 行,数据 3。

如果我删除第 2 行,它会像

第 1 行,数据 1

第 2 行,RowStatus = 已删除

第 3 行,数据 3

如何将第 3 行向上移动到第 2 行???

我有办法,但不是正确的。

我的一个是创建一个新的数据表,克隆它并通过检查每一行的行状态将每一行移动到该表。然后清空实际数据表,将临时数据表中的数据全部复制回来。

一定有更好的方法..有人吗??

【问题讨论】:

    标签: c# datatable


    【解决方案1】:

    您必须在 DataTable 上调用 AcceptChanges 才能提交所做的更改。这样做将删除标记为已删除的行。 (以及对 DataTable 所做的任何其他更改)

    【讨论】:

      【解决方案2】:

      Delete 方法在数据库中标记要删除的行,实际上并没有将其从 DataTable 中删除。 DataTable.Rows.Remove 方法会以您想要的方式从内存中的 DataTable 中删除该行。

      【讨论】:

        【解决方案3】:

        是的,您必须使用 DataTable.AcceptChages() 方法来反映对 DataTable 的更改。

        【讨论】:

          【解决方案4】:

          为什么要向上移动?原谅我的好奇心;-)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-01-17
            • 2012-04-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-12-28
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多