【发布时间】:2019-01-28 16:10:39
【问题描述】:
尝试基于多搜索/过滤器从服务器加载数据,但在客户端进行排序和分页。我发现一些帖子说只需将数据类型设置回 beforeSearch 方法中的原始值。
我已经尝试过,它确实针对服务器执行并返回正确的数据。然而,我第二次过滤它似乎从服务器获取数据,但随后它在下面显示的 jqgrid 代码中的第 4429 行被清除。关于如何实现这一目标的任何想法?
Ln 4429 : p.lastSelectedData = query.select();
网格定义:
$element
.jqGrid({
cmTemplate: { search: true, searchoptions: { attr: { placeholder: "filter..." }, clearSearch: true }, sortable: true, align: "center" },
colModel: [
{ name: "Id", key: true, hidden: true, searchoptions: { searchhidden: true, sopt: ["eq"] } },
{ name: "TransmissionId", label: "Transmission Id", searchoptions: { sopt: ["eq"] } },
{ name: "Name", label: "Name", searchoptions: { sopt: ["cn"] } }
],
datatype: "json",
loadonce: true,
height: "auto",
ignoreCase: true,
pager: $("#" + pagerId),
pgbuttons: true,
pginput: false,
rowList: [10, 25, 50],
rowNum: 10,
toppager: true,
url: "url here",
loadComplete: function (data) {
if (this.p.datatype === "json") {
setTimeout(function () {
$element.trigger("reloadGrid", [{ page: 1 }]);
}, 50);
}
return data;
},
viewrecords: true
})
.jqGrid("filterToolbar", {
autosearch: true,
defaultSearch: "cn",
beforeSearch: function () {
$element.setGridParam({ datatype: "json", page: 1 });
}
})
.jqGrid("navGrid", "#" + pagerId, {
edit: false,
add: false,
del: false,
refresh: false,
view: false,
cloneToTop: true
});
我已修剪网格以尝试验证它不是导致此问题的自定义逻辑。网格确实有multipleSearch。但上面没有定义。
【问题讨论】:
标签: javascript c# free-jqgrid