为了账号安全,请及时绑定邮箱和手机立即绑定

DataTable数据排序。

DataTable数据排序。

C#
慕哥6287543 2018-12-07 10:02:06
One Two 1 1 2 1 3 1 3 2 3 3 4 1 4 2 5 1 有没有一种这样的排序,首先先要满足One字段的排序,从低到高,再满足Two在One的基础上从低到高的排序,我经理提示我用DataView,可是我不会。
查看完整描述

12 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

 DataView dataView = dt.DefaultView;
            dataView.Sort = "One ASC,TwoASC";
            dtContent = dataView.ToTable();  

最后还是用DataView解决了。

查看完整回答
反对 回复 2018-12-24
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

Linq就搞定,想怎么搞就怎么搞

查看完整回答
反对 回复 2018-12-24
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

我就是不太懂这个代码,没接触过

var selectedRows = from r in Dt.AsEnumerable() orderby r.Field<DateTime>("One") descending select r;

 我查到这样一串代码,但是我不是很能看懂

查看完整回答
反对 回复 2018-12-24
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

建议是弄成实体类.别用datatable了.这种东西没人用的.

实体类用linq的话就是dr.orderby(a=>a.one).thenby(a=>a.two);

多简单的事情.

查看完整回答
反对 回复 2018-12-24
?
MM们

TA贡献1886条经验 获得超2个赞

我不太懂怎么弄成实体类耶,我看到这整个系统中都是用datatable然后前台遍历这种方式。

查看完整回答
反对 回复 2018-12-24
?
九州编程

TA贡献1785条经验 获得超4个赞

@你猜丶: 这种做法真的问题很大的.

你就定义一个实体类.表里有哪些字段.就是写哪些属性在实体类.

然后遍历datatable.把数据放一个实体集合里.

前端就遍历这个实体集合.

查看完整回答
反对 回复 2018-12-24
?
森栏

TA贡献1810条经验 获得超5个赞

@你猜丶: 比如你这个需求就是一个 public class item{public int one;public int two}

dt.tolist<item>().orderby(a=>a.one).thenby(a=>a.two);

查看完整回答
反对 回复 2018-12-24
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

@吴瑞祥: 等等,这个实体类不会是model吧?

查看完整回答
反对 回复 2018-12-24
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

@你猜丶: 是的.

查看完整回答
反对 回复 2018-12-24
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

@吴瑞祥: 额,可是我这个系统的架构本身是不使用model层的,o(╯□╰)o

查看完整回答
反对 回复 2018-12-24
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

@你猜丶: 你们是外包公司吗

这个model不是数据库实体.是业务实体.不然就会像你现在这样一个datatable到处传.

查看完整回答
反对 回复 2018-12-24
?
Qyouu

TA贡献1786条经验 获得超11个赞

@吴瑞祥: 不是,数据多的时候会定义实体类,不多的时候就不会

查看完整回答
反对 回复 2018-12-24
  • 12 回答
  • 0 关注
  • 631 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信