如何从ASP.NET中的数据表/数据视图中选择前n行

ska*_*ale 33 c# asp.net ado.net

如何从ASP.NET中的数据表/数据视图中选择前n行?目前我使用以下代码,传递表和行数以获取记录.有没有更好的办法?

public DataTable  SelectTopDataRow(DataTable dt, int count)
{
     DataTable dtn = dt.Clone();
     for (int i = 0; i < count; i++)
     {
         dtn.ImportRow(dt.Rows[i]);
     }

     return dtn;
}
Run Code Online (Sandbox Code Playgroud)

Mid*_*hat 44

在框架3.5中, dt.Rows.Cast<System.Data.DataRow>().Take(n)

否则你提到的方式


小智 27

我只是使用了Midhat的答案,但最后附加CopyToDataTable()了.

下面的代码是我用来快速启用一些分页的答案的扩展.

int pageNum = 1;
int pageSize = 25;

DataTable dtPage = dt.Rows.Cast<System.Data.DataRow>().Skip((pageNum - 1) * pageSize).Take(pageSize).CopyToDataTable();
Run Code Online (Sandbox Code Playgroud)


小智 23

myDataTable.AsEnumerable().Take(5).CopyToDataTable()
Run Code Online (Sandbox Code Playgroud)