我想以与以前的数据表相同的顺序从数据表中获取前10行。

使用下面的代码,我可以将其在dt1中排序,并且仅将10行导入到dt2中,但它不会按排序顺序导入行。我需要它来保持排序顺序。您的帮助将不胜感激。

    DataTable dt2 = dt1.Clone();
    dt1.DefaultView.Sort = "x DESC";
    for (int i = 0; i < 10; i++)
    {
        dt2 .ImportRow(dt1.Rows[i]);
    }

最佳答案

只需使用这样的查询和排序即可:

DataTable dt2 = dt.Clone();

//get only the rows you want
DataRow[] results = dt.Select("", "x DESC");

//populate new destination table
for(var i=0; i < 10; i++)
    dt2.ImportRow(results[i]);


希望能帮助到你!

10-08 12:16