如何获取数据表的最后5行?我试过这样的事情:
var Long_bottom = LongSlection.Last(5);
LongSlection是DataRow的地方。但我有一个错误,任何想法?
答案 0 :(得分:5)
不确定你在这里有什么
var Long_bottom = LongSlection.Last(5);
假设您有一个DataTable并且想要获得最后5行,您可以通过
执行此操作datatable1.AsEnumerable().Reverse().Take(5);
Take
和Skip
返回特定的元素数(参数为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();