• easyui datagrid查询条件


    一、利用datagrid load方法重新载入并传递查询参数.
    load param 载入并显示第一页的记录,如果传递了'param'参数,它将会覆盖查询参数属性的值。
       $('#dg').datagrid('load', { "searchKey": name, "searchValue": value }); 
       $('#dg').datagrid('load', { "参数名": 值, "参数名2": 参数值});


        当点击查询按钮send时触发

    $(function(){  
        $("#send").click(function(){    
            $('#Dear').datagrid('load', { "searchKey":"cnname", "searchValue":  $('#cnname).val()});  
        })
    });
    

      服务器端代码

    include 'conn.php';  
      
    $page = isset($_POST['page']) ? intval($_POST['page']) : 1;  
    $rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10;  
    $itemid = isset($_POST['searchKey']) ? mysql_real_escape_string($_POST['searchKey']) : '';  
      
    $offset = ($page-1)*$rows;  
      
    $result = array();  
      
    $where = "itemid like '$itemid%'";  
    $rs = mysql_query("select count(*) from item where " . $where);  
    $row = mysql_fetch_row($rs);  
    $result["total"] = $row[0];  
      
    $rs = mysql_query("select * from item where " . $where . " limit $offset,$rows");  
      
    $items = array();  
    while($row = mysql_fetch_object($rs)){  
        array_push($items, $row);  
    }  
    $result["rows"] = $items;  
      
    echo json_encode($result);
    

    后台代码分析

      1. 首先判断是否要生成查询数据,条件是传递参数$_POST['searchKey']存在且不为空 。

        if(isset($_POST['searchValue']) and $_POST['searchValue']!="")

      2. 采用like查询语言扩大查询范围,$map[$_POST['searchKey']]=array('like',array('%'.$_POST['searchValue'].'%'));生成的查询代码是:$_POST['searchKey']

        like % $_POST['searchValue'] %

      3. 生成的查询记录要符合datagrid的json数据格式。其中json数据的总记录用count()生成,需位于where条件之后。


    注意:
    reload param 重载记录,跟'load'方法一样但是重载的是当前页的记录而非第一页。
    
    
    $('#Dear').datagrid('reload', { "searchKey": name, "searchValue": value });
    


    二、利用datagrid 内置方法传入queryParams(查询参数).
    queryParams(查询参数) object(对象) 当请求远程数据时,发送的额外参数。
     var query={keywords:'your keywords',id:'your id'}; //把查询条件拼接成JSON 
    $("#test").datagrid('options').queryParams=query; //把查询条件赋值给datagrid内部变量
    $("#test").datagrid('reload'); //重新加载
    或者
    var postdata = new Array();      
    postdata[1] = { param1: "cnname", keywords1: "lanse" }; 
    postdata[2] = { param2: "mobile", keywords2: "18626216619" };
    $('#Dear').datagrid('options').queryParams = {   
        "queryParam" : $.toJSON(postdata);   //把数组转换成json字符串
     }; 
     //$('#Dear').datagrid('options').url = url;   如果url也没变可以不用再设置。关键是reload这个方法执行重载 
    $("#Dear").datagrid('reload');
     

    toJONString和toJSON这两个方法是拓展方法

    去json官方下载 json类   就是一个json.js的javascript文件  才能使用这2个函数
    https://github.com/douglascrockford/JSON-js
    
    
    
    

      

    
    


  • 相关阅读:
    xgboost中XGBClassifier()参数详解
    xgboost使用经验总结
    特征选择之Chi卡方检验
    ldd 查看程序依赖库
    paddle——docker实践
    paddle实践
    java常用设计模式
    Java内存模型
    什么是线程?
    MySQL数据库提供了那些函数?
  • 原文地址:https://www.cnblogs.com/v10258/p/2836335.html
Copyright © 2020-2023  润新知