我有一个带有 json 数据类型和 loadOnce: true
的 jqGrid .我正在使用 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" })
}
})
最佳答案
您的主要错误是使用 rowNum: -1
这是错误的。如果你想防止数据的本地分页,你应该使用一些足够大的值 rowNum
.例如 rowNum: 1000
或 rowNum: 10000
.
我建议您另外更换 $("#myGrid")
在任何回调(例如 gridComplete
)到 $(this)
的内部. "?r=" + rand()
的用法url
的一部分看来我不需要了。 $("#myGrid").filterToolbar
的来电你应该搬到 gridComplete
之外因为它只能被调用一次。
我建议您另外使用 column templates .它可以减少代码并使其更易于管理和更好地阅读。
关于jqgrid - FilterToolBar 未返回所有匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13705290/