2017-12-18 15 views
0

jQueryグリッドには、「テキスト」を入力するか、ドロップダウンリストを実装することができる上部にフィルタオプションがあります。ユーザーが<,>または<=, > =でフィルタリングできるようにjQgridで検索を実装する方法

しかし私がしたいことは、 '< 10'のような設定可能なオプションで「税」などのint列を検索することができます。「<」と「10」の両方がユーザーパラメータでなければなりません。これは一種の顧客検索です。

私は、この検索を追加のモーダルではなく、最後の手段としてもOKです。

これまで私がこれまで持っていたことは次のとおりです。

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"}, 
 
     
 
    ]; 
 
grid = jQuery("#list"); 
 

 
grid.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", search: true}, 
 
      {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", 
 
     \t \t \t searchoptions: {sopt:['gt']} 
 
      },   
 
      {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" });
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css"> 
 
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.15.2/css/ui.jqgrid.min.css"> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.15.2/jquery.jqgrid.min.js"></script> 
 
<table id="list"></table> 
 
<div id="pager"></div>

答えて

1

私が正しくあなたが必要なものを理解する場合は、filterToolbarのオプションにsearchOperators: trueを追加する必要があり、もう1つはsearchoptionssoptプロパティの動作を比較するとよりを指定します。例えば、

{name: "tax", width: 80, align: "right", sorttype: "float", 
    searchoptions: { 
    sopt: ["le", "lt", "gt", "ge", "eq", "ne"] 
    } 
} 

https://jsfiddle.net/z6rfw3cp/

を参照してください。
関連する問題

 関連する問題