程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> table中點擊表頭實現排序的功能示例介紹

table中點擊表頭實現排序的功能示例介紹

編輯:關於JSP

     獲取上次點擊的表頭的名稱和這次點擊的表頭的名稱做比較,如果兩者相同就按原先相反的順序排列,否則新列升序排列

    <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   
    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved