在jqGrid中搜索

时间:2012-09-06 22:58:13

标签: jqgrid jqgrid-formatter jqgrid-inlinenav

我是jqGrid的首发,我在ASP.NET

中为build jqGrid编写了这段代码
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中进行implimet搜索 谢谢所有

编辑01:当我添加loadonce: true搜索工作但删除此选项时搜索不起作用,请帮助我。感谢

1 个答案:

答案 0 :(得分:2)

如果您使用loadonce: true,数据将加载到网格一次。之后,datatype将更改为"local",重新加载,排序,搜索(过滤)等所有操作都将在本地实施,而无需与服务器进行通信。

如果用户开始搜索网格将被重新加载。如果您使用url: 'jQGridHandler.ashx', datatype: 'json',则新请求将发送到网址jQGridHandler.ashx。一些其他参数通知服务器应该过滤数据,_search参数将设置为true。由于您使用multipleSearch: true,因此有关搜索过滤器的其他信息将在另一个参数filters中发送。它是JSON格式的字符串。格式在the documentation中描述。因此服务器必须解码filters参数并过滤网格数据(通常根据WHERE参数的值构造SELECT SQL语句的filters部分

the answer中,您可以找到代码示例,并可以下载the demo project