永发信息网

c# datatable 字符串排序

答案:2  悬赏:10  手机版
解决时间 2021-02-08 04:06
datatable下列字段为:字段1,字段2,字段3,优先级。。。。
其中优先级为字符串,有3个字符串选择,高,中、低。
现在我想按照这个字符串排序,分别按照高中低来排序这个datatable,该怎么实现?
最佳答案
这个和sql排序类似
datatable.Columns.Add("sortcell", typeof(int));//增加一个列int 型,用于排序
foreach (System.Data.DataRow row in datatable.Rows)//给 sortcell 赋值,高 0,中 1,低 2
    row["sortcell"] = row["优先级"].ToString() == "高" ? 0 : row["优先级"].ToString() == "中" ? 1 : 2;
datatable.DefaultView.Sort = "sortcell asc";//将 sortcell 列 按升序排序你也可以直接在sql查询的时候就把 优先级 字段 做处理,
select 字段1,字段2,字段3,优先级,case 优先级 when '高' then 0 wehn '中' then 1 else 2 end as sortcell from tableName order by case 优先级 when '高' then 0 wehn '中' then 1 else 2 end asc;
当然后面的 order by 你可以不用写,在程序里面 用 
datatable.DefaultView.Sort = "sortcell asc";//将 sortcell 列 按升序排序 
也是可以的
全部回答
用like dt.select("id like '%|"+id+"'");
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
泥城镇黄沙村幼儿园地址在哪,我要去那里办事
三星NOTE4手机屏幕碎裂
营业收入和销售收入是一回事吗
泥城镇苏桥村幼儿园地址在什么地方,想过去办
鑫畅电讯地址在什么地方,想过去办事
不玩LOL的人都去玩什么什么游戏了?
步步高x9可以用联通的么
关于防烟楼梯间的设置,下列哪条不当?[1995
宾馆要推出会员卡在LED显示屏上怎么写才给力
南汇县新港中心幼儿园怎么去啊,我要去那办事
杨正虾兵虾将小龙虾馆园湖店在哪里啊,我有事
昆明市盘龙区滇源镇白邑乡户口小孩可以在哪里
plc程序的经验设计法 什么是plc编程的经验设
东海镇先进村幼儿园地址有知道的么?有点事想
【不羁的意思】不羁的意思还有反义词
推荐资讯
兰馨花卉(昆仑大街)怎么去啊,我要去那办事
尊敬父母人的作文400字作文社会实践
高赵庄村地址在什么地方,我要处理点事
望断白衣什么意思
宁源社区在什么地方啊,我要过去处理事情
公司为小规模纳税人,申请一般纳税人,但是去
镇康县职业技术教育培训中心地址好找么,我有
一个月天天只睡一个小时,食量减小会爆瘦吗?
foxmail邮箱网页提示“可能因网络原因造成系
三星galaxyc5怎么样
腾宇记黄焖鸡米饭越秀店这个地址在什么地方,
下列()不宜选用土挤密桩或灰土挤密桩法。A.地
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?