искать в jqGrid - jqgrid


1

Я стартер в 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 не фильтрует, я думаю, что это действие не работает, пожалуйста, помогите мне в импрометическом поиске в jqGrid спасибо всем

EDIT 01: когда я добавляю loadonce: true поиск, но при удалении этого варианта поиск не работает, пожалуйста, помогите мне. спасибо

  •  10
  •  1
  • 8 фев 2020 2020-02-08 08:05:33

1 ответ

2

Если вы используете loadonce: true, данные будут загружены в сетку один раз. После этого datatype будет изменен на "local", и все действия, такие как перезагрузка, сортировка, поиск (фильтрация), будут реализованы локально без связи с сервером.

Если пользователь начнет поиск в сетке, будет перезагружен. Если вы используете url: jQGridHandler.ashx, datatype: json, то новый запрос будет отправлен на URL jQGridHandler.ashx. Некоторые дополнительные параметры информируют сервер, что данные должны быть отфильтрованы, параметр _search будет установлен на true. Поскольку вы используете multipleSearch: true, остальная информация об поисковом фильтре будет отправлена ​​другим параметром: filters. Это строка в формате JSON. Формат описан в документации. Таким образом, сервер должен декодировать параметр filters и фильтровать данные сетки (обычно один из них строит WHERE часть оператора SQL SELECT на основе значения параметра filters).

В ответе вы найдете пример кода и можете скачать демонстрационный проект.

  • 8 фев 2020 2020-02-08 08:05:34