如何获取数据表的最后5行?

时间:2012-06-05 10:08:48

标签: c# datatable take

如何获取数据表的最后5行?我试过这样的事情:

var Long_bottom = LongSlection.Last(5);

LongSlection是DataRow的地方。但我有一个错误,任何想法?

4 个答案:

答案 0 :(得分:5)

不确定你在这里有什么

  

var Long_bottom = LongSlection.Last(5);

假设您有一个DataTable并且想要获得最后5行,您可以通过

执行此操作
datatable1.AsEnumerable().Reverse().Take(5);

TakeSkip返回特定的元素数(参数为int),而Last不是最后一个元素,或者需要谓词来检查条件或在行内检查。

答案 1 :(得分:0)

这应该这样做。但它未经测试!

IEnumerable<DataRow> lastRows = table.AsEnumerable().Skip(table.Rows.Count - 2).ToList();

或者:

table.AsEnumerable().Reverse().Take(2);

编辑:根据OP请求修改以获取最后两个。

答案 2 :(得分:0)

怎么样

Datarow[] dr = dt.Rows.Cast<DataRow>().Skip(dt.Rows.Count - 5).ToArray();

dt.Rows.Cast<DataRow>().Reverse().Take(5);

这里5是要进行的最后一行。

答案 3 :(得分:0)

我需要CopyToDataTable()才能完成工作:

dt = dt.AsEnumerable().Reverse().Take(5).CopyToDataTable();