gpt4 book ai didi

grid - JqWidgets:导出嵌套网格

转载 作者:行者123 更新时间:2023-12-02 01:57:13 24 4
gpt4 key购买 nike

在使用 JqxWidges 时,我遇到了导出使用一个 JSON 作为源文件的嵌套网格的问题。通用解决方案不起作用。实际上它只导出父网格列。

   $("#excelExport").click(function () {
$("#jqxGrid").jqxGrid('exportdata', 'csv', chartName + ' ' + date);
});

现有解决方案之一 ( http://www.jqwidgets.com/community/reply/reply-to-export-data-from-a-nested-grid-13/ ) 建议在调用 initrowdetails 函数时将嵌套行推送到数据数组中。

是的,它有效!但仅适用于嵌套网格并且在选择此网格的情况下。

最佳答案

因此,从这一步开始,我将转向下一个方法:

  1. 使用初始 JSON 将所有必要的数据收集到数组中(防止您只收集单独的选定数据);

  2. 使用所有现有数据初始化父网格列并将嵌套列标记为隐藏。然后在导出时不要忘记添加 true 参数以导出非/隐藏列;

  3. 使用带有自定义数组参数的标准导出;

就是这样!

数据收集:

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);

}

并且不要忘记将第五个参数设置为 true 以导出隐藏列。

毫无疑问,它看起来是硬编码的。但这对我有用。

所以,如果您有好的解决方案 - 请发表评论!!!

关于grid - JqWidgets:导出嵌套网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19296221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com