【问题标题】:search in jqGrid在 jqGrid 中搜索
【发布时间】:2012-08-31 20:04:55
【问题描述】:

我是 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 中进行隐式搜索 谢谢大家

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

【问题讨论】:

    标签: jqgrid jqgrid-formatter jqgrid-inlinenav


    【解决方案1】:

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

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

    the answer你会找到代码示例并且可以下载the demo project

    【讨论】:

    • 这个解决方案很好。但是演示项目在一个表上工作。现在我如何使用多个表,比如这个查询:stackoverflow.com/questions/12359648/… 请帮助我 tnx
    • @M.B:在我看来绝对新问题。您的新问题主要是关于 LINQ to Entities、LINQ 的限制、使用 ExecuteStoreQuery 执行本机 SQL 语句或在旧 .NET 版本中使用不太舒服的 EntityCommand ......在很多情况下,我曾经使用旧的 @987654341 @ 使用 SqlDataReader 而不是实体框架和 LINQ。在许多情况下,可以将 SQL 存储过程用于复杂的查询。所以有很多方面,最好的解决方案取决于项目的需求。
    • @Oleg:在 Db 中使用视图怎么样?在这种情况下,您仍然可以使用 ObjectQuery 和 LinqToEntity。
    • @HosseinMoradinia:这也是可能的原因。您还可以使用 CTE(通用表表达式)。无论如何,我建议您在 Transact-SQL 中编写复杂的 SQL 语句,而不是在 C# 中编写复杂的 LINQ 表达式。在这种情况下,您将确定 SQL 语句确实是最优的。
    • 嗨,奥列格先生,我在这个话题上有问题,请帮助我,stackoverflow.com/questions/12556375/… 谢谢
    猜你喜欢
    • 1970-01-01
    • 2012-03-11
    • 2016-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多