如何在一个特定的方式我的SqlDataSource记录进行排序

我有我的SqlDataSource控件。 它主要有更新命令和的SelectCommand。 我的GridView控件绑定到这个SqlDataSource控件。 我的SelectCommand是:

Select Username, Status from Users Order by LastLoginTime desc

我有我的表是这样的:

ABC IN PROGESS somedate DEF COMPLETE somedate PQR PENDING somedate JLM COMPLETE somedate LKM IN PROGESS somedate

目前的查询结果由lastlogintime(即somedate)排序。 但我想我的结果通过第2列进行排序(说这列名状态)。 我想记录以这样一种方式,第一次所有用户整体状态正在进行中应该出现那么PENDING然后完成排序。 正如你可以说这是不是第一个简单的命令。

我怎么能以这种方式与我的SqlDataSource控件进行排序?

--------------解决方案-------------

你应该使用使用自定义排序次序CASE的SQL。 尝试这个

SELECT Name, Status FROM UsersOrder ORDER BY CASE Status
WHEN 'IN PROGESS' THEN 1
WHEN 'PENDING' THEN 2
WHEN 'COMPLETE' THEN 3
ELSE 99
END

因此,在你的效果的SelectCommand将是一个可怕的单行。 :)

SelectCommand="SELECT Name, Status FROM UsersOrder ORDER BY CASE Status WHEN 'IN PROGESS' THEN 1 WHEN 'PENDING' THEN 2 WHEN 'COMPLETE' THEN 3 ELSE 99 END"

恐怕这是唯一的解决方案。

分类:C# 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.446 (s). 10 q(s)