GoogleVisualization:已过滤的选择项

时间:2014-07-11 14:36:32

标签: javascript jquery html google-visualization

在谷歌可视化中,我实现了一个带有表格图表和一些控制过滤器的仪表板。

现在假设我有以下dataTable:

data = new google.visualization.DataTable();
data.addColumn('string','Name');
data.addColumn('number', 'Age');

 data.addRows([
      ['Customer1', 85],
      ['Customer2', 20],
      ['Customer3', 30],
    ]);

如果我选择第一行(Customer1)并且我选择:

var tmpData = table.getChart().getSelection();
var stringCustomer = data.getValue(tmpData.row, 0)

stringCustomer是" Customer1"。

现在我过滤表格图表,只显示年龄== 30的客户:我只有一行是Customer3,我选择该行。

var tmpData = table.getChart().getSelection();
var stringCustomer = data.getValue(tmpData.row, 0)

使用此代码stringCustomer始终为Customer1。我如何获得Customer3? getValue()如何返回表格图表中显示项目的项目?

1 个答案:

答案 0 :(得分:1)

选择返回表或图表所见的数据中所选元素的索引,而不是基本DataTable。仪表板将DataView传递给每个ChartWrapper,您可以通过ChartWrapper#getDataTable方法访问它。用它来获取数据:

var selection = table.getChart().getSelection(),
    view = table.getDataTable(),
    stringCustomer;
// loop over all selected rows
for (var i = 0; i < selection.length; i++) {
    stringCustomer = view.getValue(selection[i].row, 0);
    // do something with stringCustomer
}