0

我在 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"));
                        }
                    }
                }
  });
4

1 回答 1

0

我想问题是您正在将记录集中不可用的字段“名称”推入数组“名称”。您可以通过对代码进行少量更改来访问 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 传递给另一个函数并构建一个表。

于 2020-06-05T06:25:10.533 回答