Искать в jqGrid
Я начинаю в jqGrid, я пишу этот код для сборки jqGrid в ASP.NET
var grid = $('#list');
grid.jqGrid({
url: 'jQGridHandler.ashx',
postData: { ActionPage: 'CostTypes', Action: 'Fill' },
ajaxGridOptions: { cache: false },
direction: "rtl",
datatype: 'json',
height: 490,
colNames: ['CostId', 'CostNo', 'CostName', 'Remark '],
colModel: [
{ name: 'COST_ID', width: 100, sortable: true, search:true, editable: false,
hidden: true, key: true, index: 'COST_ID' },
{ name: 'COST_NO', width: 100, sortable: true, editable: true },
{ name: 'COST_NAME', width: 350, sortable: true, editable: true },
{ name: 'REMARK', width: 300, sortable: true, editable: true }
],
gridview: true,
rowNum: 30,
rowList: [30, 60, 90],
pager: '#pager',
sortname: 'COST_ID',
viewrecords: true,
rownumbers: true
});
grid.jqGrid('navGrid', '#pager', { add: false, edit: false, del: true, search: true },
{},
{},
{ url: "JQGridHandler.ashx?ActionPage=CostTypes&Action=Delete",
reloadAfterSubmit: false },
{ multipleSearch: true});
при нажатии на иконку поиска и показывать окно поиска при вводе примера текста costNo=1
jqGrid не фильтровать я думаю, что это действие не работает, пожалуйста, помогите мне для поиска implimet в jqGrid спасибо всем
РЕДАКТИРОВАТЬ 01: когда я добавляю loadonce: true
поиск работает, но если удалить эту опцию, поиск не работает, пожалуйста, помогите мне. Спасибо
1 ответ
Если вы используете loadonce: true
данные будут загружены в сетку один раз. После этого datatype
будет изменен на "local"
и все действия, такие как перезагрузка, сортировка, поиск (фильтрация) будут осуществляться локально без связи с сервером.
Если пользователь начнет поиск, сетка будет перезагружена. Если вы используете url: 'jQGridHandler.ashx', datatype: 'json'
тогда новый запрос будет отправлен на URL jQGridHandler.ashx
, Некоторые дополнительные параметры информируют сервер о том, что данные должны быть отфильтрованы, _search
параметр будет установлен в true
, Потому что вы используете multipleSearch: true
остальная информация о поисковом фильтре будет отправлена в другом параметре: filters
, Это строка в формате JSON. Формат описан в документации. Таким образом, сервер должен декодировать filters
параметр и фильтровать данные сетки (как правило, один конструкции WHERE
часть SELECT
Оператор SQL на основе значения filters
параметр).
В ответе вы найдете пример кода и можете скачать демонстрационный проект.