如何对数据表进行排序,然后在底部追加行

本文关键字:然后 底部 追加 排序 数据表 | 更新日期: 2023-09-27 17:51:10

我有一个返回数据表的函数。这个函数附加了一个额外的行,即计算出的和。现在需要对数据表进行排序。我试图对数据表进行排序,然后附加总行,但数据表也考虑了总行。我该如何减轻这种行为?

          dt.DefaultView.Sort = "totalearning DESC"; //sorting first then adding
                DataRow dr = dt.NewRow();
                dr.ItemArray = new object[] { "Total", dt.Compute("Sum(redeemed)", ""), dt.Compute("Sum(earning)", ""), dt.Compute("Sum(paidhousefee)", ""), dt.Compute("Sum(paidfine)", ""), dt.Compute("Sum(totalearning)", ""), dt.Compute("Sum(noofdayspresent)", ""), dt.Compute("Sum(noofdaysabsent)", ""), dt.Compute("Sum(avgdaily)", "") };
                dt.Rows.InsertAt(dr, dt.Rows.Count);

如何对数据表进行排序,然后在底部追加行

我建议使用Linq-To-DataSet,它更强大,更易读:

dt = dt.AsEnumerable()
     .OrderBy(row => row.Field<string>(0) == "Total")
     .ThenByDescending(row => row.Field<int>("totalearning"))
     .CopyToDataTable();

我假定totalearningint列。