table中點(diǎn)擊表頭實(shí)現(xiàn)排序的功能示例介紹
<a href="javascript:setOrder();">表頭名字</a>,頁面中獲取上次點(diǎn)擊的表頭的名稱和這次點(diǎn)擊的表頭的名稱做比較,如果兩者相同就按原先相反的順序排列,否則新列升序排列,
獲取排列順序的列名及排列順序以后,傳到后臺獲取相應(yīng)sql,添加order by 語句,完成排序功能
排序順序值可在form中存放在隱藏域中,思路就是這樣。
例如在使用Birt報(bào)表工具創(chuàng)建報(bào)表需要點(diǎn)擊表頭的名稱排序的功能時(shí),可以再表頭名稱處增加一個(gè)超鏈接,鏈接內(nèi)容為TargetURL+表頭名稱 ,然后在初始化方法initialize()中判斷原有的表頭名稱是否和傳入的表頭名稱相同以判斷升序和降序,然后獲取sql,添加排序語句,完成功能。以下是我做的報(bào)表的一個(gè)實(shí)例。
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
相關(guān)文章
搭建SSH時(shí)的思考和遇到的幾個(gè)問題的解決方法
搭建SSH時(shí)的思考和遇到的幾個(gè)問題的解決方法...2007-12-12
JSP過濾器防止Xss漏洞的實(shí)現(xiàn)方法(分享)
下面小編就為大家?guī)硪黄狫SP過濾器防止Xss漏洞的實(shí)現(xiàn)方法(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04
jsp實(shí)現(xiàn)點(diǎn)擊help打開chm文件
有個(gè)javaweb項(xiàng)目,需要在portal上面點(diǎn)擊help即可打開“幫助.chm”文件,下面與大家分享下jsp如何打開chm文件2014-09-09
jsp的注釋可能會(huì)影響頁面加載速度讓代碼扔繼續(xù)執(zhí)行
注釋里面的java代碼還是會(huì)得到執(zhí)行,可以再查看頁面源代碼上看到執(zhí)行完成的內(nèi)容2014-10-10
Jsp中的table多表頭導(dǎo)出excel文件具體實(shí)現(xiàn)
這篇文章主要介紹了Jsp中的table多表頭導(dǎo)出excel文件具體實(shí)現(xiàn),有需要的朋友可以參考一下2013-12-12
JSP中c:foreach遍歷和s:iterator遍歷異同實(shí)例分析
這篇文章主要介紹了JSP中c:foreach遍歷和s:iterator遍歷異同,以兩個(gè)完整實(shí)例形式對比分析了c:foreach遍歷和s:iterator遍歷的具體用法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09
java AJAX實(shí)現(xiàn)級聯(lián)下拉框
AJAX實(shí)現(xiàn)級聯(lián)下拉框 需要的JAVA類,大家可以學(xué)習(xí)下2008-09-09

