这是我的代码:
DataSet dsCategoryRes = new DataSet();
dsCategoryRes = oCourse.SubscribedResources(Profile.UserName, CustomerId, "0", 0);
DataTable dt = dsCategoryRes.Tables[0];
DataView dv = new DataView(dt);
Int32 maxCnt;
if (dv.Table.Rows.Count <= 5)
maxCnt = dv.Table.Rows.Count - 1;
else
maxCnt = 4;
int cnt;
for (cnt = 0; cnt <= maxCnt; cnt++)
{
dv.Sort = "CategoryName DESC";
//dv.Table.Rows.Cast<System.Data.DataRow>().Take(5);
dt = dv.ToTable();
dt.Rows.Cast<System.Data.DataRow>().Take(5);
rptSub.DataSource = dt;
rptSub.DataBind();
}
使用此方法可以按降序排序,但我无法选择前5个值。
答案 0 :(得分:0)
这样的东西?
var dt = new DataTable();
dt.Columns.Add("ID", typeof(Int32));
dt.Columns.Add("Name");
//Creating some dummy data
for (int i = 0; i < 10; i++)
{
var newRow = dt.NewRow();
newRow["ID"] = i;
newRow["Name"] = "dummyData" + i;
dt.Rows.Add(newRow);
}
var dt2 = new DataTable();
dt2 = (from rows in dt.AsEnumerable().OrderByDescending(x => x.Field<int>("ID")) select rows).Take(5).CopyToDataTable();