4

我有一个带有 json 数据类型的jqGridloadOnce: true和. 我正在使用filterToolBar搜索。它不会返回所有匹配项。该网格包含一个名为Name的可搜索列,并具有值“Adkins, Joe”和“Adkinson, Jane”。如果我输入搜索字符串“Adk”,则返回的唯一匹配项是“Adkins, Joe”。

这是网格定义:

function loadmyGrid(dataUrl, selectUrl) {
$("#myGrid").jqGrid({
    url: dataUrl + "?r=" + rand(),
    datatype: "json",
    mtype: 'GET',
    rowNum: -1,
    loadonce: true,
    ignoreCase: true,
    scroll: true,
    scrollOffset: 0,
    gridview: true,
    colNames: ["Employee ID", "Name", "User Name", ""],
    colModel: [
              { name: "EmployeeID", width: "125", align: "center", sortable: false, resizable: false, title: false, search: false },
                    { name: "Name", width: "150", align: "center", sortable: false, resizable: false, title: false },
                    { name: "UserName", width: "125", align: "center", sortable: false, resizable: false, title: false, search: false },
                    { name: "UserKey", key: true, width: "135", align: "center", sortable: false, resizable: false, title: false, formatter: selectButtonFormatter, search: false},
            ],
    emptyrecords: "Nothing to display",     
    beforeSelectRow: function () { return false; },
    gridComplete: function () {
        $("#myGrid").setGridHeight("100%");
        $("#myGrid").filterToolbar({searchOnEnter: false, defaultSearch: "cn" })
    }
})
4

1 回答 1

2

您的主要错误是使用rowNum: -1错误。如果你想防止数据的本地分页,你应该使用一些足够大的rowNum. 例如rowNum: 1000rowNum: 10000

我建议您另外将$("#myGrid")任何回调(例如gridComplete)内部替换为$(this). "?r=" + rand()部分的使用似乎url我不需要。你的调用$("#myGrid").filterToolbar应该移到外面,gridComplete因为它只能调用一次。

我建议您另外使用列模板。它可以减少代码,使其更易于管理和可读性更好。

于 2012-12-04T14:59:26.743 回答