したがって、このステップから次のアプローチに移行します。
最初の 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);
}
非表示の列をエクスポートするには、5 番目の pafameter を true に設定することを忘れないでください。
ハードコーディングされているように見えます。しかし、それは私にとってはうまくいきます。
それで、あなたが良い解決策を持っているなら - コメントを残してください!!!