2017-01-20 3 views
0

私はjqGridにオートコンプリートフィルタ機能を実装しました。 これは機能しません、私は2つの問題があると信じています。jqGridフィルタリングなし

私はフォーマッタを使用するカラムを持っています。この列を含めると、フィルタリングは負荷をまったくトリガーしません。この列がないと、フィルタリングによって負荷がトリガーされますが、結果はフィルタリングされません。

私はindexまたはjsonmapはフィルタリングが動作するためにcolModelnameと同じでなければならないことを読みました。私はこれらのマッチが、まだ運がないことを保証しました。

コード:

loadData: function (someData) { 

    $(model.table).GridUnload(); 

    $(model.table).jqGrid({ 
     url: $(model.tableURL).val(), 
     datatype: 'JSON', 
     mtype: 'POST', 
     postData: { 
      someData: someData 
     }, 
     emptyrecords: 'No Wholesalers', 
     viewrecords: true, 
     autowidth: true, 
     shirnkToFit: false, 
     rowNum: -1, 
     loadtext: 'Loading...', 
     multiselect: false, 
     width: "100%", 
     height: "100%", 
     colModel: [ 
     { label: 'Wholesaler', name: 'WholesalerName', jsonmap: 'WholesalerName', sortable: false, align: 'center', width: '250' }, 
      { 
       label: 'Amount Complete', name: 'PercentageComplete', jsonmap:'PercentageComplete', search: false, sortable: false, align: 'center', 
       formatter: function (cellvalue, options, rowObj) { 
        return '<div class="progress progress-striped pos-rel" data-percent="' + rowObj.PercentageComplete + '%">' + 
         '<div class="progress-bar progress-bar-success" style="width:' + rowObj.PercentageComplete + '%;"></div></div>'; 
       } 
      }, 
     { label: 'No of Customers', name: 'NoOfCustomers', jsonmap: 'NoOfCustomers', search: false, sortable: false, align: 'center' }, 
     { label: 'Last Updated', name: 'LastUpdated', jsonmap: 'LastUpdated', search: false, sortable: false, align: 'center' }, 
     { label: 'Last Update By', name: 'LastUpdateBy', jsonmap: 'LastUpdateBy', search: false, sortable: false, align: 'center' }, 
     ], 
     altrows: true, 
     loadComplete: function() { 
      var table = this; 

      //model.update() 
     }, 
     loadError: function (xhr, st, err) { 
      alert(err); 
     } 
    } 
    ).jqGrid('filterToolbar', { 
     stringResult: true, searchOnEnter: false, ignoreCase: true, 

    }) 
}, 
+0

商用[Guriddo jqGrid JS](http://www.jqGrid.com)のjqGrid([free jqGrid](https://github.com/free-jqgrid/jqGrid) /guriddo.net/?page_id=103334)またはバージョン<= 4.7の古いjqGrid?グリッドに表示する必要がある行の数はどれくらいですか? 'loadonce:true'シナリオを使うと、コードを単純化することができます。 JSONデータをテストするのも良いでしょう(2-3行で十分です)。フォーマッタを組み込む場合は、 'unformat'も含めてください。おそらく 'sorttype'を関数として使うと良いでしょう。オートコンプリートについて書きましたが、コードは含まれていません。 – Oleg

+0

オートコンプリートの典型的な問題の1つは、オートコンプリートの 'select'コールバックの中で追加の' .change() 'イベントをトリガする必要があることです。いずれにしても、より多くの実装の詳細を知る必要があります。 – Oleg

+0

さらに重要な点は、 'loadonce:true'と古いjqGridを使用する場合は' rowNum:-1'行を修正するべきです。 – Oleg

答えて

0

私はloadonce: true設定されていませんでしたが判明。

したがって、キー入力時にフィルタリングすると、グリッドが再読み込みされ、サーバーからのデータが再入力されていました。

関連する問題