2013-03-01 175 views
14

的每一列我有一个jqgrid,显示雇员的详细信息,我想使用它,用户可以输入公司名称中的每一列添加一个过滤器和网格显示所有符合该雇员行过滤网格中。添加过滤器的jqGrid

google搜索了很多,但没有成功。任何参考示例/链接将有所帮助。

+1

你检查了'栏search'功能? – Konstant 2013-03-01 14:03:17

+0

此链接也有验证的解决方案..简短和甜蜜的解决方案 - http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_28462507.html – 2015-09-29 13:08:08

回答

19

,您应该使用filterToolbar选项,当您在文本框中的数据将通过记录fiter测试案例的名称,这里是代码和工作example demo

var mydata = [ 
    {id:"1",invdate:"2010-05-24",name:"test",note:"note",tax:"10.00",total:"2111.00"} , 
    {id:"2",invdate:"2010-05-25",name:"test2",note:"note2",tax:"20.00",total:"320.00"}, 
    {id:"3",invdate:"2007-09-01",name:"test3",note:"note3",tax:"30.00",total:"430.00"}, 
    {id:"4",invdate:"2007-10-04",name:"blah",note:"stuff",tax:"10.00",total:"210.00"}, 

]; 
jQuery("#list").jqGrid({ 
data: mydata, 
datatype: "local", 
height: 150, 
rowNum: 10, 
rowList: [10,20,30], 
    colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'], 
    colModel:[ 
     {name:'id',index:'id', width:60, sorttype:"int"}, 
     {name:'invdate',index:'invdate', width:90, sorttype:"date", formatter:"date"}, 
     {name:'name',index:'name', width:100}, 
     {name:'amount',index:'amount', width:80, align:"right",sorttype:"float", formatter:"number"}, 
     {name:'tax',index:'tax', width:80, align:"right",sorttype:"float"},   
     {name:'total',index:'total', width:80,align:"right",sorttype:"float"},   
     {name:'note',index:'note', width:150, sortable:false}   
    ], 
    pager: "#pager", 
    viewrecords: true, 
    autowidth: true, 
    height: 'auto', 
    caption: "Test Grid" 
}); 

jQuery("#list").jqGrid('filterToolbar', { stringResult: true, searchOnEnter: false, defaultSearch: "cn" }); 



<table id="list"></table> 
<div id="pager"></div>