2011-04-27 92 views
0

我有一個DataTable,我已經通過反序列化JSON消息獲得。我不知道列名是什麼,所以我不能在特定的列上使用DataView.Sort。我只是想顛倒行的順序。這裏是我的嘗試:如何反轉ADO.NET DataTable的行順序?

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]); 

回答

1

我見過..... 你不能直接從一個表中添加一行到錯誤信息另一個。首先你必須克隆表格,然後你可以通過併爲每一行調用ImportRow()。

退房geekzilla爲一個體面的例子。

我希望有幫助!

+0

這個工作完美。謝謝! – Frank 2011-04-27 20:22:52

+0

很好,沒有問題! – dizzwave 2011-04-27 20:43:19