在jqGrid的搜索(search in jqGrid)

2019-10-17 04:50发布

我正在起动中的jqGrid,我写在ASP.NET构建的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搜索工作,但是当删除此选项搜索不工作,请帮助我。 谢谢

Answer 1:

如果您使用loadonce: true的数据将在网格中加载一次 。 该后datatype将被更改为"local"和重装一样,排序,搜索(过滤)的所有行动将在本地没有与服务器的通信来实现。

如果用户开始搜索的电网将被重新加载。 如果您使用url: 'jQGridHandler.ashx', datatype: 'json'那么新的请求将被发送到URL jQGridHandler.ashx 。 一些额外的参数告知该数据应该被过滤的服务器上, _search参数将被设置为true 。 因为你用multipleSearch: true关于搜索过滤器的其余信息将在另一个参数发送: filters 。 这是一个JSON格式的字符串。 的格式中描述的文档 。 因此,服务器能够解码filters参数和过滤格栅数据(通常是一个构造WHERE的一部分SELECT基础上的价值SQL语句filters参数)。

在回答你会发现示例代码,可以下载演示项目 。



文章来源: search in jqGrid