我已经在Filemaker中实现了PivotTable.JS,它工作得很好。我已经添加了回调代码,当我单击一个单元格时,该函数似乎可以正常工作。当单击单元格时,我会看到"Message from webpage“对话框,我假设我仍然需要添加一些代码来显示组成单击单元格内容的记录。显示记录的方法是什么,不幸的是我不是java脚本专家。
$("#output").pivotUI(
$.pivotUtilities.tipsData, {
cols: ["Quarter Latest"],
rows: ["Customer"],
vals: ["Wt Forecast"],
aggregatorName: "Sum",
rendererName: "Table",
renderers: $.extend(
$.pivotUtilities.renderers,
$.pivotUtilities.c3_renderers,
$.pivotUtilities.export_renderers
),
rendererOptions: {
table: {
clickCallback: function(e, value, filters, pivotData){
var names = [];
pivotData.forEachMatchingRecord(filters,
function(record){ names.push(record.Name); });
alert(names.join("\n"));
}
}
}
});发布于 2020-06-05 14:25:11
我猜问题是您正在将一个在您的记录集中不可用的字段'Name‘推入数组’Name‘。您可以通过对代码稍作更改来访问clickCallBack上返回的完整json。
$("#output").pivotUI(
$.pivotUtilities.tipsData, {
cols: ["Quarter Latest"],
rows: ["Customer"],
vals: ["Wt Forecast"],
aggregatorName: "Sum",
rendererName: "Table",
renderers: $.extend(
$.pivotUtilities.renderers,
$.pivotUtilities.c3_renderers,
$.pivotUtilities.export_renderers
),
rendererOptions: {
table: {
clickCallback: function(e, value, filters, pivotData){
var fullData = [];
pivotData.forEachMatchingRecord(filters,
function(record){ fullData.push(record); });
console.log(fullData);
}
}
}
});也许您可以稍后将该JSON传递给另一个函数并构建一个表。
https://stackoverflow.com/questions/56975133
复制相似问题