所以,从这个步骤我移动到下一个的形式给出:
为了收集所有必需的数据转换成使用初始JSON阵列(防止你只收集单独选择的数据);
使用所有现有数据初始化父网格列并将嵌套列标记为隐藏。然后,在导出时,不要忘记添加true参数来导出非隐藏列;
使用具有自定义数组参数的标准导出;
就是这样!
数据采集:
var toExport = data.allClientsCountChart;
var exp = new Array();
for(var i in toExport){
var client = {};
var countr = toExport[i].countries;
client[labels.clientType]=toExport[i].clientType;
client[labels.clientTypeCount]=toExport[i].clientTypeCount;
exp.push(client);
for(var j in countr) {
var country = {}
var detailes = countr[j].clientDetails;
country[labels.countryType]=countr[j].countryType;
country[labels.clientsNumber]=countr[j].clientsNumber;
exp.push(country);
for(var d in detailes) {
var det = {}
det[labels.scriptName]=detailes[d].scriptName;
det[labels.clientsCount]=detailes[d].clientsCount;
exp.push(det);
}
}
}
出口:
$("#excelExport").click(function() {
$("#jqxGrid").jqxGrid('exportdata', 'csv', chartName + ' ' + date, true, exp, true);
}
而且不要忘了第五pafameter设置成真导出隐藏的列。
没有问题,它看起来硬编码。但它适用于我。
所以,如果你有一个很好的解决方案 - 请留下评论!