1

我是 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=1jqGrid 不过滤我认为此操作无效,请帮助我在 jqGrid 中进行隐式搜索 谢谢大家

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

4

1 回答 1

2

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

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

答案中,您将找到代码示例并可以下载演示项目

于 2012-09-07T10:37:11.337 回答