在按钮单击功能中使用SetGridParam,网格的数据类型未更改为json
我不想最初加载网格,只需单击一个按钮即可加载网格数据。为此,我将数据类型设置为“本地”,并使用SetGridParam将数据类型更改为json。但这是行不通的,我无法确定。请帮助我。
$('#jQGrid').jqGrid({
mtype: "POST",
datatype:"local",
url: "EmployeeDashBoard.aspx/GetEmpData",
ajaxGridOptions: { contentType: 'application/json; charset=utf-8' },
colNames: ['Employee', 'Age', 'Salary'],
colModel: [
{ name: "Employee", width: 70, index: 'Employee', sortable: false, resizable: false },
{ name: "Age", width: 70, index: 'Age', sortable: false, resizable: false},
{ name: "Salary", width: 70, index: 'Salary', sortable: false, resizable: false },
],
serializeGridData: function (postData) {
return JSON.stringify(postData);
},
beforeRequest: function () {
var postData = $('#jQGrid').jqGrid('getGridParam', "postData");
$.extend(postData, { "objFNFData": objFNFData });
},
jsonReader: {
repeatitems: false,
root: function (obj) {
return obj.d.FNFDataList;
},
total: function (obj) {
return obj.d.Total;
},
records: function (obj) {
return obj.d.Records
}
},
loadComplete: function (obj) {
if ($('#jQGrid').jqGrid.getGridParam('datatype') === "json") {
$(".ui-jqgrid-titlebar").hide();
if (obj.d.Total === 0) {
$(this).hide();
emptyMsgDiv.appendTo("#gview_jQGrid > .ui-jqgrid-bdiv");
$("[id$=btnExport]").hide();
} else {
$(this).show();
$("#btnExport").attr("onclick", "openDownload()");
$("[id$=btnExport]").show();
}
}
},
rowNum: 20,
shrinkToFit: true,
sortable: false,
viewrecords: true,
rowList: [10, 20, 30, 50, 100],
pager: jQuery("#pager"),
height: 'auto',
caption: 'Employee Details',
search: true
});
$("#btnSearch").click(function () {
$("#jQGrid").jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid')
});
答案 0 :(得分:0)
我认为您在loadComplete中有一些代码不正确。为了使其正常工作,应如下所示:
loadComplete: function (obj) {
if ($('#jQGrid').jqGrid('getGridParam','datatype') === "json") {
$(".ui-jqgrid-titlebar").hide();
if (obj.d.Total === 0) {
$(this).hide();
emptyMsgDiv.appendTo("#gview_jQGrid > .ui-jqgrid-bdiv");
$("[id$=btnExport]").hide();
} else {
$(this).show();
$("#btnExport").attr("onclick", "openDownload()");
$("[id$=btnExport]").show();
}
}
}
即替换
if ($('#jQGrid').jqGrid.getGridParam('datatype') === "json") {
与
if ($('#jQGrid').jqGrid('getGridParam','datatype') === "json") {
希望这会有所帮助