我已经在Filemaker中实现了PivotTable.JS,并且效果很好。我已经添加了回调代码,并且当我单击一个单元格时该函数似乎可以正常工作。当单击单元格时,会出现“来自网页的消息”对话框,我假设我仍然需要添加一些代码来显示构成单击单元格内容的记录。显示记录的方法是什么,不幸的是我不是精通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"));
}
}
}
});
答案 0 :(得分:0)
我想问题是您正在将记录集中不可用的字段“名称”推入“名称”数组。 您可以通过对代码进行一些小的更改来访问在clickCallBack上返回的decomplete 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传递给另一个函数并建立一个表。