如何导出以在 asp.net MVC 中超越所有级别的分层 JQGRID?



我有 5 级的 jqgrid。 我想通过单击按钮导出网格的所有级别以表现出色 我该怎么做?

我使用jqGrid5.3.0, Visual Studio 2017

这是我的代码(2级(:

function FillJQueryGrid(ProjectIdVal) {
var myColTemplate = { searchoptions: { sopt: ['cn', 'eq', 'bw', 'bn', 'nc', 'ew', 'en'] } };
$("#jqGrid").jqGrid({
url: '@Url.Action("GetTransmittalSumLists", "Report")' + '?ProjectId=' + ProjectIdVal,
jsonReader: {
repeatitems: false,
root: function (obj) {
return obj.records;
}
},
datatype: "json",
height: 'auto',
page: 1,
colModel: [
{ label: 'transmital id', name: 'ArchiveChecklistMainId_fk', template: myColTemplate, key: true, hidden: true},
{ label: 'transmital no', name: 'trans_ref_no', width: 200 },
{ label: 'transmital subject', name: 'ChkMain_Subject', width: 400 },
{ label: 'transmital date', name: 'trans_date', width: 200 },
{ label: 'Delay', name: 'sum_delay_count', width: 200, color: "#ff0000" }
],
width:"100%",
loadonce: true,
autowidth: true,
rowNum: 20,
subGrid: true,
subGridRowExpanded: showChildGridCoding,
toolbarfilter: true,
pager: "#jqGridPager",
ignoreCase: true
});
$("#jqGrid").jqGrid('filterToolbar', { searchOperators: true, stringResult: true, searchOnEnter: false, defaultSearch: "cn" });
};
//***********************************fill grid level 2 *******************************************
function showChildGridCoding(parentRowID, parentRowKey) {
var childGridID = "GR"+parentRowID + "_table";
var childGridPagerID = "GR" + parentRowID + "_pager";
var childGridURL = '@Url.Action("GetCodingSumLists", "Report")' + '?ArchiveChecklistMainId_fk=' + parentRowKey;
$('#' + parentRowID).append('<table id=' + childGridID + '></table><div id=' + childGridPagerID + ' class=scroll></div>');
var subgridDivId = childGridID;
var $subgrid = $("<table id='" + subgridDivId + "_t'></table>"),
subgridData = $(this).jqGrid("getLocalRow", parentRowID).details,
$subgridDataDiv = $("#" + subgridDivId),
$subgridCell = $subgridDataDiv.closest(".subgrid-data").prev(".subgrid-cell");
$subgridCell.addClass("green"); // set background color on td.subgrid-cell
$subgridDataDiv.append($subgrid);
$subgrid.jqGrid({
url: childGridURL,
jsonReader: {
repeatitems: false,
root: function (obj) {
return obj.records;
}
},
datatype: "json",
height: 'auto',
width: "100%",
page: 1,
colModel: [
{ label: 'Coding_Id', name:'Coding_Id',key:true,hidden:true},
{ label: 'code', name: 'comp_code' },
{ label: 'revision', name: 'revision',width:500 },
{ label: 'Delay', name: 'sum_delay_count',width:500 }
],
loadonce: true,
subGrid: true,
subGridRowExpanded: showChildGridReceiver,
pager: "#" + childGridPagerID,
rowNum: rowCount,
loadComplete: function (data) {
if (data.records.length <= rowCount) {
$("#" + childGridPagerID).hide();
} else {
$("#" + childGridPagerID).show();
}
$("[id*='" + subgridDivId + "'].ui-jqgrid-sortable").each(function () {
this.style.backgroundColor = "#A3E4D7";
});
}
});
}

如果我使用 navButtonAdd forexportToExcel,它只导出当前网格到 excel 而不是所有级别的数据。(我为第一级的网格添加这个(

在Guriddo的当前实现中,不支持jqGrid导出子网格。

如果适用,您可以创建分组并执行导出。在导出到Excel,Pdf,Csv和Html时支持分组

最新更新