table中点击表头实现排序的功能示例介绍

 获取上次点击的表头的名称和这次点击的表头的名称做比较,如果两者相同就按原先相反的顺序排列,否则新列升序排列

<a href="javascript:setOrder();">表头名字</a>,页面中获取上次点击的表头的名称和这次点击的表头的名称做比较,如果两者相同就按原先相反的顺序排列,否则新列升序排列, 
 
获取排列顺序的列名及排列顺序以后,传到后台获取相应sql,添加order by 语句,完成排序功能 
 
排序顺序值可在form中存放在隐藏域中,思路就是这样。 
 
例如在使用Birt报表工具创建报表需要点击表头的名称排序的功能时,可以再表头名称处增加一个超链接,链接内容为TargetURL+表头名称 ,然后在初始化方法initialize()中判断原有的表头名称是否和传入的表头名称相同以判断升序和降序,然后获取sql,添加排序语句,完成功能。以下是我做的报表的一个实例。 
 
 
复制代码 代码如下:
dataSetName = "fundcatagoryseasontemplate"; 
sortCol = reportContext.getHttpServletRequest().getParameter("sortCol");//获取需要排序的列名 
sortDir = reportContext.getHttpServletRequest().getParameter("sortDir");//获取排列顺序 
currentURL = reportContext.getHttpServletRequest().getRequestURL()+"?"+reportContext.getHttpServletRequest().
getQueryString(); 
sortClause = ""; 
targetURL = ""; 
 
if(sortDir != null){ 
if(sortDir.indexOf("ASC") != -1){ 
sortDir = "DESC"; 
}else{ 
sortDir = "ASC"; 

}else{ 
sortDir = "ASC"; 

 
if(sortCol != null && sortCol.length != 0){ 
sortClause = " order by " + sortCol + " " + sortDir; 

 
reportContext.getReportRunnable().getDesignInstance().getDataSet(dataSetName).queryText +=
sortClause; //获取并修改底层sql语句 
 
if(currentURL.indexOf("__sorting=") != -1 ){ 
targetURL = currentURL.substring(0,currentURL.indexOf("__sorting")-1 ); 
}else{ 
targetURL = currentURL; 

 
targetURL = targetURL + "&__sorting=true&sortDir="+sortDir+"&sortCol=";//修改url 
 

时间: 2024-08-30 19:40:10

table中点击表头实现排序的功能示例介绍的相关文章

table中点击表头实现排序的功能示例介绍_JSP编程

<a href="javascript:setOrder();">表头名字</a>,页面中获取上次点击的表头的名称和这次点击的表头的名称做比较,如果两者相同就按原先相反的顺序排列,否则新列升序排列, 获取排列顺序的列名及排列顺序以后,传到后台获取相应sql,添加order by 语句,完成排序功能 排序顺序值可在form中存放在隐藏域中,思路就是这样. 例如在使用Birt报表工具创建报表需要点击表头的名称排序的功能时,可以再表头名称处增加一个超链接,链接内容为T

gridview 表头如何做成像WINFORM的一样,点击表头区域排序等

问题描述 我想做成像WINFORM里的GRID一样,不要表头的那个超级链接,鼠标进入表头的某列,那列的背景图片变换 解决方案 解决方案二:效果很酷~~可以不会.帮你顶一下,我也想知道.解决方案三:你无非就是要排序,排序在网上应该有好多源代码的http://blog.csdn.net/net_lover/category/242429.aspx解决方案四:必须用ajax实现这样的排序功能,原来有人作过这样例子,你可以查查."鼠标进入表头的某列,那列的背景图片变换"可以实现,但也要用jav

winform datagridview中点击表头时,下面的checkox全都变为空了

问题描述 如题,怎么设置能让点击datagridview表头时,下面的checkbox不要变.谢谢~~~ 解决方案 解决方案二:你是说datagridview的checkbox列么?解决方案三:是的,给他加的checkbox列,不过点表头排序后,就自动清空了.解决方案四:引用1楼Benjay77的回复: 你是说datagridview的checkbox列么? 是的,给他加的checkbox列,不过点表头排序后,就自动清空了.解决方案五:已解决,谢谢关注.

jquery实现表格中点击相应行变色功能效果【实例代码】_jquery

对于一个表格,为了使我们选中的项更容易区分,需要为选中项添加高亮,同时也需要,将其他项的高亮形式去除.类似于: <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title></title> <link href=&

jQuery代码实现表格中点击相应行变色功能_jquery

对于一个表格,为了使我们选中的项更容易区分,需要为选中项添加高亮,同时也需要,将其他项的高亮形式去除.类似于: <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title></title> <link href=&

Javascript进行简单的Table点击排序

闲着没事,随便写了个简单的Table排序的js,大家有兴趣的看看,有需要的就拿去吧.废话不说了,大家看代码吧 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml&qu

微信公共号的文章中点击一张图片后,自动变为全屏浏览。这是编写代码实现的功能还是手机or微信自带的功能?

问题描述 微信公共号的文章中点击一张图片后,自动变为全屏浏览.这是编写代码实现的功能还是手机or微信自带的功能? 求解!如何不是手机的自带功能如何编写这个代码? 我写了一些放大功能的代码都达不到全屏的那种效果.. 解决方案 这个是通过微信公众平台提供的JsApi接口来实现,点击图片直接调起微信客户端自带的图片播放组件.// 调起微信客户端的图片播放组件进行播放 var srcList = []; $.each($('img'),function(i,item){ if(item.src) { s

datagridview-winform中DataGridView怎样用代码实现点击表头排序

问题描述 winform中DataGridView怎样用代码实现点击表头排序 我用的是List<>泛型来绑定数据的,this.dgViewXClientInfo.DataSource = list;无法实现自动排序 解决方案 http://blog.sina.com.cn/s/blog_538311d30100p3ve.html 解决方案二:

手机中点击网页链接实现拨号或保存电话功能实现代码_相关技巧

手机中点击网页链接实现拨号或保存电话功能实现代码 通过网页拨打电话 复制代码 代码如下: <p><a href="wtai://wp/mc;135xxxxxxxx ">拨打电话</a></p> 注: 135xxxxxxxx是号码, 你可以换成你想拨打的号码. 通过网页存储电话号码 复制代码 代码如下: <p><a href="wtai://wp/ap;1860;中国移动">存储号码</a&