我在这里有一个表:http://jsbin.com/IhEmetI/8使用Google可视化API构建,代码如下:http://jsbin.com/IhEmetI/8/edit
CODE:
var table = new google.visualization.ChartWrapper({
'chartType': 'Table',
'containerId': 'chart2',
'cssClassNames': 'cssClassNames',
'options': {
cssClassNames: cssClassNames,
allowHtml: true
}
});
// Create a dashboard
new google.visualization.Dashboard(document.getElementById('dashboard')).
// Establish bindings, declaring the both the slider and the category
// picker will drive both charts.
bind([slider, categoryPicker, stringFilter], [pie, table], [stringFilter, table]).
// Draw the entire dashboard.
draw(data, {'allowHtml':true, 'cssClassNames': 'cssClassNames'}); }
现在我想在点击某些表行时获取数据行? 我怎么能这样做?
我如何用javascript做到这一点? 谷歌API函数是否有一些内置功能?
答案 0 :(得分:1)
您需要为表使用'select'处理程序。使用ChartWrapper,其语法与正常情况略有不同(因为您必须在包装器的'ready'
事件处理程序中包装Table的事件处理程序)。它的工作原理如下:
google.visualization.events.addListener(table, 'ready', function () {
google.visualization.events.addListener(table.getChart(), 'select', function () {
var selection = table.getChart().getSelection();
// iterate over all selected rows
for (var i = 0; i < selection.length; i++) {
// do something with selection[i].row
}
});
});
您必须迭代所有选定的行,因为用户可以从表中选择多行。
答案 1 :(得分:0)
使用data.getFormattedValue(selection [i] .row,column) 由于某些原因,getValue对于整数列总是返回0,对于字符串总是为空!