How do I get the last 5 rows of a datatable? I tried something like this:
var Long_bottom = LongSlection.Last(5);
Where LongSlection is a DataRow. But I had an error, any idea?
Not sure what you have got here
var Long_bottom = LongSlection.Last(5);
Assuming you have a DataTable and you want to get the last 5 rows you can do that via
datatable1.AsEnumerable().Reverse().Take(5);
Take
and Skip
return the specific number of elments (parameter is int) while which is not the case with Last
you get the last element or you need a predicate for checking conditions or checks within the row.
This SHOULD do it. but it's untested!
IEnumerable<DataRow> lastRows = table.AsEnumerable().Skip(table.Rows.Count - 2).ToList();
Or:
table.AsEnumerable().Reverse().Take(2);
Edit: Modified to get the last TWO, as per the OPs request.
How about
Datarow[] dr = dt.Rows.Cast<DataRow>().Skip(dt.Rows.Count - 5).ToArray();
OR
dt.Rows.Cast<DataRow>().Reverse().Take(5);
Here 5 is the last number of rows to take.
我需要CopyToDataTable()
来完成任务:
dt = dt.AsEnumerable().Reverse().Take(5).CopyToDataTable();
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.