现在假设我有以下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()如何返回表格图表中显示项目的项目?
答案 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
}