查詢重置功能的實現


8.根據條件查詢

a.在頁面上新建一個查詢按鈕

<a onclick="toQuery()" class="easyui-linkbutton" iconCls="icon-search">查詢</a>

b.JavaScript中寫一個查詢按鈕的觸發事件

//查詢
function toQuery(){
    var searchName = encodeURI($("#ss").textbox("getValue"));
    var json={name:searchName,depid:depid};
    var paramStr=json2str(json)
    $('#listTable').datagrid('options').url =  "queryDaKuaiSuByParams.hebe?json=" + paramStr;
    $('#listTable').datagrid('load');
}

值得注意的是:此處查詢會有兩種情況:一是當沒有點擊樹的節點時候的查詢,此時depid會沒有值,則會查詢表中的所有數據,二是當點擊了樹的節點時候的查詢,此時的depid會有值傳到后台,則會查詢該樹節點下的相關條件數據,因此后台也需要進行判斷

c..根據URL地址編寫getwaybeans.xml

 

d.后台方法的寫法

有兩種方式來寫

一,通過XML文件配置SQL語句來寫

public String queryDaKuaiSuByParams(String param){
    String name = JSON_UTIL.getJsonData(param, "name");
    String depid=JSON_UTIL.getJsonData(param,"depid");

  //分情況判斷
    String[] p=null;
    if((depid==null || depid.equals(""))){
     p =new String[] {BaseUtils.likeParamter(name)};
        queryMapId = "query.student.by.name";
    }else{
        p =new String[]{depid,BaseUtils.likeParamter(name)};
        queryMapId="query.student.by.idandname";
    }
    return paging(p, true);
}

值得注意的是:此時就判斷depid是否存在值,此時不需管name值,因為名稱是模糊查詢,所以就算name沒有值,在AQL語句中也是為null,當做沒值的來查詢

此時在XML文件中需要寫兩種情況的SQ語句

 

二.在后台通過SQL語句拼接,不用寫XML文件配置

public String queryDaKuaiSuByParams(String param){
    String name = JSON_UTIL.getJsonData(param, "name");
    String depid=JSON_UTIL.getJsonData(param,"depid");
    String sql=  "select s.sno,s.name,s.birthday,s.createtime,s.sex,s.depid,s.loginname,d.depname "+
  "from t_student s, t_department d where s.depid = d.id"  ;
    if(!name.equals("")){
        sql += " and s.name like '%" + name + "%'";
    }
    if(!depid.equals("")){
        sql += " and s.depid=" + depid;
    }
    sql += " order by d.id";
    return pagingByQuery(sql);

}

值得注意的是:對於有多種情況判斷的后台,sql語句不唯一的時候,建議用sql語句拼接,不要用XML文件配置,這樣可以省去寫多個配置文件。

9.重置

a.先新建一個重置按鈕與寫一個其觸發事件

 

b.此處重置不需要另寫后台代碼,可以直接調用查詢顯示的方法。但需要清空所有相關的查詢條件

值得注意的是:也可以直接調用默認列表顯示的方法,但建議最好調用查詢顯示的方法,這樣的話,就不用再創一個datagrid列表對象


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM