table中點擊表頭實現(xiàn)排序的功能示例介紹
<a href="javascript:setOrder();">表頭名字</a>,頁面中獲取上次點擊的表頭的名稱和這次點擊的表頭的名稱做比較,如果兩者相同就按原先相反的順序排列,否則新列升序排列,
獲取排列順序的列名及排列順序以后,傳到后臺獲取相應(yīng)sql,添加order by 語句,完成排序功能
排序順序值可在form中存放在隱藏域中,思路就是這樣。
例如在使用Birt報表工具創(chuàng)建報表需要點擊表頭的名稱排序的功能時,可以再表頭名稱處增加一個超鏈接,鏈接內(nèi)容為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
相關(guān)文章
jsp連接MySQL實現(xiàn)插入insert操作功能示例
本文將為大家展示下jsp連接MySQL執(zhí)行插入操作的功能,具體的示例及代碼如下,感興趣的朋友可以了解下2013-08-08Servlet+Jsp實現(xiàn)圖片或文件的上傳功能具體思路及代碼
web項目中的這一上傳功能,那么文件是如何從本地發(fā)送到服務(wù)器的呢,接下來為大家介紹下Servlet+Jsp實現(xiàn)文件的上傳功能,感興趣的朋友可以參考下哈2013-04-04jsp使用ECharts動態(tài)在地圖上標(biāo)識點
echarts地圖展示功能很強大,官網(wǎng)上靜態(tài)展示的例子很多了,動態(tài)的資料少,需要參考本文的可以進(jìn)來了解一下。2016-10-10