66jqGrid - 搜索模板

定义搜索模板,使搜索更加容易。
66jqGrid - 搜索模板

HTML代码举例

<html>
  <head>
    <title>jqGrid 实例</title>
  </head>
  <body>
    ···代码省略···
    <table id="grps3"></table>
    <div id="pgrps3"></div>
    ···代码省略···
  </body>
</html>

javascript代码举例

$(function(){
  pageInit();
});
function pageInit(){
  var template1 =
  { "groupOp": "AND",
        "rules": [
          { "field": "b.name", "op": "bw", "data": "Client 1" },
          { "field": "a.amount", "op": "gt", "data": "20"}
        ]
  };

  var template2 =
  { "groupOp": "AND",
        "rules": [
          { "field": "b.name", "op": "eq", "data": "Client 2" },
          { "field": "a.id", "op": "le", "data": "10"}
        ]
  } ;


  jQuery("#grps3").jqGrid({
       url:ctx+'/JSONData',
    datatype: "json",
       colNames:['Inv No', 'Date', 'Client', 'Amount','Tax','Total','Notes'],
       colModel:[
         {name:'id',  key : true,  index:'a.id',  width:55, searchtype:"integer"},
         {name:'invdate',index:'a.invdate', width:90},
         {name:'name', index:'b.name',  width:100},
         {name:'amount',index:'a.amount', width:80, align:"right", searchtype:"number"},
         {name:'tax',index:'a.tax', width:80, align:"right", searchtype:"number"},
         {name:'total',index:'a.total', width:80,align:"right", searchtype:"number"},
         {name:'note',index:'a.note', width:150, sortable:false}
       ],
       rowNum:10,
      width:700,
       rowList:[10,20,30],
       pager: '#pgrps3',
       sortname: 'invdate',
      viewrecords: true,
      sortorder: "desc",
    caption: "Show query in search",
    height: '100%'
  });
  jQuery("#grps3").jqGrid('navGrid','#pgrps3',
  {edit:false,add:false,del:false},
  {},
  {},
  {},
  {
    multipleSearch:true,
    multipleGroup:true,
    showQuery: true,
      // set the names of the template
      "tmplNames" : ["Template One", "Template Two"],
      // set the template contents
      "tmplFilters": [template1, template2]
  }
  );

}

java servlet代码举例

package net.mn886.blog.jqgrid.loadding_data;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class JSONData
 */
public class JSONData extends HttpServlet {
  private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public JSONData() {
        super();
        // TODO Auto-generated constructor stub
    }

  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
    // TODO Auto-generated method stub
    doPost(req,resp);
  }

  /**
   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    String jsondata = "{\"page\":\"1\"," +
        "      \"total\":2," +
        "      \"records\":\"13\"," +
        "      \"rows\":" +
        "          [" +
        "            {" +
        "              \"id\":\"13\"," +
        "              \"cell\":" +
        "                  [\"13\",\"2007-10-06\",\"Client 3\",\"1000.00\",\"0.00\",\"1000.00\",null]" +
        "            }," +
        "            {" +
        "              \"id\":\"12\"," +
        "              \"cell\":" +
        "                  [\"12\",\"2007-10-06\",\"Client 2\",\"700.00\",\"140.00\",\"840.00\",null]" +
        "            }," +
        "            {" +
        "              \"id\":\"11\"," +
        "              \"cell\":" +
        "                  [\"11\",\"2007-10-06\",\"Client 1\",\"600.00\",\"120.00\",\"720.00\",null]" +
        "            }," +
        "            {" +
        "              \"id\":\"10\"," +
        "              \"cell\":" +
        "                  [\"10\",\"2007-10-06\",\"Client 2\",\"100.00\",\"20.00\",\"120.00\",null]" +
        "            }," +
        "            {" +
        "              \"id\":\"9\"," +
        "              \"cell\":" +
        "                  [\"9\",\"2007-10-06\",\"Client 1\",\"200.00\",\"40.00\",\"240.00\",null]" +
        "            }," +
        "            {" +
        "              \"id\":\"8\"," +
        "              \"cell\":" +
        "                  [\"8\",\"2007-10-06\",\"Client 3\",\"200.00\",\"0.00\",\"200.00\",null]" +
        "            }," +
        "            {" +
        "              \"id\":\"7\"," +
        "              \"cell\":" +
        "                  [\"7\",\"2007-10-05\",\"Client 2\",\"120.00\",\"12.00\",\"134.00\",null]" +
        "            }," +
        "            {" +
        "              \"id\":\"6\"," +
        "              \"cell\":" +
        "                  [\"6\",\"2007-10-05\",\"Client 1\",\"50.00\",\"10.00\",\"60.00\",\"\"]" +
        "            }," +
        "            {" +
        "              \"id\":\"5\"," +
        "              \"cell\":" +
        "                  [\"5\",\"2007-10-05\",\"Client 3\",\"100.00\",\"0.00\",\"100.00\",\"no tax at all\"]" +
        "            }," +
        "            {" +
        "              \"id\":\"4\"," +
        "              \"cell\":" +
        "                  [\"4\",\"2007-10-04\",\"Client 3\",\"150.00\",\"0.00\",\"150.00\",\"no tax\"]" +
        "            }" +
        "          ]," +
        "      \"userdata\":{\"amount\":3220,\"tax\":342,\"total\":3564,\"name\":\"Totals:\"}" +
        "    }";
    response.getWriter().write(jsondata);
  }

}