jqgrid - 如何更改 jqGrid 中的 sidx、sord、filters 参数名称

标签 jqgrid

如果列名是 sidx,sord,filters ,则 jqGrid 获取数据会被破坏。我尝试使用下面的代码为它们添加下划线,但这些参数仍然没有下划线传递。 _rowid、_page 等其他参数使用下划线正确传递。

如何在 jqgrid 中使用 sidx、sord、filters 作为列名?

jQuery.extend(jQuery.jgrid.defaults, {
    prmNames: { id: "_rowid", oper: "_oper", page: "_page",
        sidx: "_sidx", sord: "_sord", page: "_page", rows: "_rows", filters: "_filters"
    }
});

最佳答案

我不明白你在“如果列名是 sidx,sord,filters ,jqGrid 获取数据被破坏”下的意思。尽管如此,如果您需要,您可以通过两种方式重命名或删除 jqGrid 参数:prmNamesserializeGridData .

您应该仔细检查 prmNames 的默认值列表。 .无法重命名 filters顺便说一句,但要重命名您应该使用的其他参数的名称

$.extend(jQuery.jgrid.defaults, {
    prmNames: {
        id: "_rowid", page: "_page", rows: "_rows",
        oper: "_oper", sort: "_sidx", order: "_sord"
    }
});

( sortorder 而不是 sidxsord )。重命名 filters_filters并删除发送空 searchField , searchStringsearchOper你几乎可以像我描述的那样做 here :
serializeGridData: function (postData) {
    var myPostData = $.extend({}, postData); // make a copy of the input parameter
    myPostData._filters = myPostData.filters;
    delete myPostData.filters;
    delete myPostData.searchField;
    delete myPostData.searchString;
    delete myPostData.searchOper;
    return myPostData;
}

使用 FiddlerFirebug您可以在 the demo 的 URL 中进行验证使用以下参数
_search=true&nd=1313235583212&_rows=10&_page=1&_sidx=invdate&_sord=desc&_filters=...

像你一样需要。

关于jqgrid - 如何更改 jqGrid 中的 sidx、sord、filters 参数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7050063/

相关文章:

jquery - 如何在 jqGrid 中的 ""分隔符上的单元格中强制换行?

jqgrid - afterInsertRow : function(ids) method is not executing when I use gridview:true

html - 如何使 jqgrid 工具栏按钮与标准 jquery ui 按钮大小相同

jquery - jqGrid 与 AngularJS

javascript - 使用 Ajaxcall 的 VB.net 文件上传

asp.net - 如何在Asp.net中的Jqgrid中计算列总和并在FooterRow上显示

jqgrid - 固定列标题但 jqgrid 中的可滚动数据

jqgrid - 提高 JQGrid 树网格性能

javascript - 如何动态启用 Jquery 网格列中的 HTML 标签

jquery - 为动态创建的 jqGrid 的所有列设置相同的宽度