aspx页面中点击表格的字段名实现升序降序排列的一些思路


为满足项目需要,在对查询结果需要点击对应的字段进行升降序可切换排序,这里对实现的过程整理一下思路:

实现效果大致如图所示:

aspx页面中点击表格的字段名实现升序降序排列的一些思路

表头“年龄”字段需要添加<a>标签,实现onclick事件:

<a onclick="GetUrl(1)" style="cursor:pointer">年龄<%if(strOrder=="1"){%><%=sortStr=="asc"?"↑":"↓"%><%}%><a>

url链接事件,其中用到对cookie的读写操作

<script type="text/javascript">
//排序url链接事件
function GetUrl(order)
{
  var oldSort=getCookie("sort");
  setCookie("sort",oldSort=="asc"?"desc":"asc");
  location.href='***.aspx?order='+order+其他分页等参数;
}
</script>

后台定义一个 protected string sortStr 用来保存排序类型,定义一个 protected string strOrder 用来保存排序字段。

获取排序的字段:strOrder=Request.QueryString["order"].Trim();

获取排序类型:

sortStr=GetSort(strOrder);
public static string GetSort(string strOrder)
{
var sortStr=string.IsNullOrWhiteSpace(GetCookie("sort"))?"asc":GetCookie("sort");
if(!string.IsNullOrWhiteSpace(strOrder))
 return sortStr;
sortStr="asc";
AddCookie("sort","asc");
return sortStr;
}

实现排序:

switch (strOrder)
            {
                case "1":
                    sql += "order by age " + sortStr;
                    break;
                default:
                    sql += "";
                    break;
            }

本方法只是提供思路,具体还得根据项目进行使用。如有不足之处欢迎留言探讨。

相关阅读 >>

无法排序,原因是 icomparer.compare() 方法返回不一致的结果。一个值与本身比较不相等,或者一个值与另外一个值重复比较生成不同的结果

oracle clob字段过长保存出错改如何解决?

perl中如何对混合字符串进行排序?(代码示例)

对比select * 和 select 所有字段写出速度实例

去重和排序如何操作

aspx页面中点击表格的字段名实现升序降序排列的一些思路

更多相关阅读请进入《字段》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...