【问题标题】:How can I reverse the row order for an ADO.NET DataTable?如何反转 ADO.NET DataTable 的行顺序?
【发布时间】:2011-04-27 20:00:54
【问题描述】:

我有一个通过反序列化 JSON 消息获得的 DataTable。我不提前知道列名是什么,所以我不能在特定列上使用 DataView.Sort。我只想颠倒行的顺序。这是我尝试过的:

var reversedTable = new DataTable();
for (var row = originalTable.Rows.Count - 1; row >= 0; row--)
    reversedTable.Rows.Add(response.Messages.Rows[row]);

但这会抛出“System.ArgumentException:该行已经属于另一个表。”我怎样才能完成这个看似简单的任务?提前致谢,

弗兰克

回答:

 var reversed = original.Clone();
 for (var row = original.Rows.Count - 1; row >= 0; row--)
     reversed.ImportRow(original.Rows[row]);

【问题讨论】:

    标签: ado.net


    【解决方案1】:

    我以前看过那个错误信息..... 您不能直接将一行从一个表添加到另一个表。首先你必须克隆表,然后你可以遍历并为每一行调用 ImportRow()。

    查看geekzilla 以获得一个不错的示例。

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-19
      • 2016-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-12
      • 2021-04-07
      • 2013-09-26
      相关资源
      最近更新 更多