定义搜索模板,使搜索更加容易。
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); } }