查询重置功能的实现

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列表对象

原文地址:https://www.cnblogs.com/bad-guy/p/6956019.html