ローカル データのフィルタリングに問題があります。loadonce パラメータを削除し、サーバーから結果を取得すると、すべてうまくいきます。ローカル データをフィルター処理するときに問題が発生します。これは私のグリッドの実装です:
orderPosGrid.jqGrid({
colNames: ['', '', '', '', '', '', '', 'ID', 'Nazwa/Rodzaj', 'Ilość', 'Jedn.', 'Przyczyna zwrotu', 'Napis', '', ''],
colModel: [
{name: 'myac', index:'myac', width:0, hidden:true},
{name: 'commited', index: 'commited', width: 0, editable: false, hidden: true},
{name: 'hasIlosc', index: 'hasIlosc', width: 0, editable: false, hidden: true},
{name: 'hasOpis', index: 'hasOpis', width: 0, editable: false, hidden: true},
{name: 'opisCount', index: 'opisCount', width: 0, editable: false, hidden: true},
{name: 'id', index: 'id', width: 0, sorttype: 'int', editable: false, hidden: true},
{name: 'qType', index: 'qType', width: 0, sorttype: 'int', editable: false, hidden: true},
{name: 'id_prod', index: 'id', width: 30, sorttype: 'int', editable: false},
{name: 'nazwa', index: 'name', width: 250, editable: false},
{name: 'ilosc', index: 'quantity', width: 35, align: 'right', sortable: false, search:false, edittype:'text', editable: true, editrules:{custom:true, custom_func:iloscValidate, minValue:1}},
{name: 'jedn', index: 'jedn', width: 35, sortable: false, search:false, align: 'right', editable: false},
{name: 'opisZwrot', index: 'opisZwrot', width: 170, sortable: false, editable: true, search:false, edittype:'select', formatter: 'select', editoptions:{value:'{{ przyczZwrot }}'}},
{name: 'opis', index: 'description', width: 170, sortable: false, search:false, editable: true},
{name: 'group', index: 'group', editable: false, hidden: true},
{name: 'info', index: 'info', sortable: false, search:false, width: 22}
],
status: 0,
url: '/ProdList/'+type_id+'/'+order_id+'/',
datatype: 'json',
mtype: 'GET',
ignoreCase:true,
height: 'auto',
rowNum: 10000,
loadonce:true,
gridview: true,
viewrecords: true,
sortname: '',
sortorder: '',
pager: '#ProdList_gridPager',
caption: 'Lista dostępnych produktów',
subGrid: false,
editurl: 'clientArray',
grouping: true,
groupingView: {
groupField: ['group'],
groupOrder: ['asc'],
groupColumnShow: [false],
groupText: ['<b>{0} [{1}]</b>'],
groupCollapse: false
},
...
});
id と nazwa の 2 つのフィールドのみをフィルタリングする必要があり、その他は無効になっています。サーバーからの私のjsonデータは次のようになります:
{"total":1, "page":"1", "records":"266", "rows":[{"id": "2473_1", "cell":["","1","0","0","","116","1","2473","Adwokat","3","kg.","","","d - Ciasta kremowo-śmietanowe"]},{"id": "2473_2", "cell":["","1","0","0","","116","1","2473","Adwokat","2","kg.","","","d - Ciasta kremowo-śmietanowe"]},{"id": "2473_3", "cell":["","1","1","1","70","116","1","2473","Adwokat","","kg.","","","d - Ciasta kremowo-śmietanowe"]}]}
私は典型的なデータ構成を使用しており、jsonReader 構成は必要ないと思います。私が間違っている?私のコードにバグが見つかった場合は助けてください。