jqGrid поиск на стороне клиента
Я хотел бы вручную применить поиск к моей jqGrid через JavaScript. Я попробовал руководство здесь, но не могу заставить его работать. В настройке сетки у меня есть столбец с именем error_column, который я хотел бы выполнить при поиске строки "Test".
Вот что у меня так далеко:
var filter = { "field": "error_column", 'oper': 'eq', "data": 'Test' };
$("Grid2").jqGrid('setGridParam', { search: true, postData: { filters: filter} })
$("Grid2").trigger('reloadGrid');
Когда я нажимаю кнопку, с которой это связано, ничего не происходит, и это не вызывает ошибок.
РЕДАКТИРОВАТЬ Вот код для инициализации сетки:
jQuery("#Grid2").jqGrid({
datatype: "local",
height: 250,
colNames: ['NewSubscriberID', 'Conflicting Subscriber ID', 'Error Field', 'Error Message'],
colModel: [
{ name: 'new_subscriber_id', index: 'new_subscriber_id', width: 120},
{ name: 'conflicting_subscriber_id', index: 'conflicting_subscriber_id', width: 170},
{ name: 'error_column', index: 'error_column', width: 90, sorttype: "text", search: true},
{ name: 'error_type', index: 'error_type', width: 145}
],
loadonce: true
});
Я связываю данные с сеткой, используя локальный массив.
1 ответ
Вы должны реализовать поиск по одному полю немного по-другому:
var grid = jQuery("#Grid2");
var postdata = grid.jqGrid('getGridParam','postData');
jQuery.extend (postdata,
{filters:'',
searchField: 'error_column',
searchOper: 'eq',
searchString: 'Test'});
grid.jqGrid('setGridParam', { search: true, postData: postdata });
grid.trigger("reloadGrid",[{page:1}]);
Вы можете увидеть живой пример здесь.
ОБНОВЛЕНО: Вы используете loadonce: true
а также datatype: "local"
все вместе. Значение loadonce: true
будет игнорироваться в случае datatype: "local"
, Если вы получаете данные с сервера и используете datatype: "json"
или же datatype: "xml"
, затем loadonce: true
буду работать. Если вы хотите, чтобы поиск (фильтрация) осуществлялся не локально, а на сервере, вам следует перезагрузить datatype
в 'json'
или же 'xml'
как дополнительная опция 'setGridParam'
,