【发布时间】:2023-03-05 14:40:02
【问题描述】:
我试图弄清楚如何获取控件([categoryPicker,stringFilter]),触发绘制表格,而不是在页面加载时自行加载表格。
我不太确定是否应该使用 (ready event) 或 (select event) 来触发此行为。我在网上找不到任何使用控件呈现图表/表格的示例。如果有人可以提供一些指南或示例,将不胜感激。到目前为止,我已经开始在下面的代码中声明侦听器事件:
function drawVisualization(dataValues, chartTitle, columnNames, categoryCaption) {
if (dataValues.length < 1)
return;
var data = new google.visualization.DataTable();
data.addColumn('string', columnNames.split(',')[0], 'name');
data.addColumn('number', columnNames.split(',')[1], 'price');
data.addColumn('string', columnNames.split(',')[2], 'type');
data.addColumn('datetime', columnNames.split(',')[3], 'date');
for (var i = 0; i < dataValues.length; i++) {
var date = new Date(parseInt(dataValues[i].Date.substr(6), 10));
data.addRow([dataValues[i].ColumnName, dataValues[i].Value, dataValues[i].Type, date]);
}
var table = new google.visualization.ChartWrapper({
'chartType': 'Table',
'containerId': 'TableContainer',
'options': {
'width': '900px'
}
});
var categoryPicker = new google.visualization.ControlWrapper({
'controlType': 'CategoryFilter',
'containerId': 'control2',
'options': {
'filterColumnLabel': columnNames.split(',')[3],
'filterColumnIndex': '3',
'ui': {
'labelStacking': 'horizontal',
'allowTyping': false,
'allowMultiple': false,
'caption': categoryCaption,
'label': 'Date',
}
}
});
// Define a StringFilter control for the 'Name' column
var stringFilter = new google.visualization.ControlWrapper({
'controlType': 'StringFilter',
'containerId': 'control1',
'options': {
'filterColumnLabel': columnNames.split(',')[0]
}
});
new google.visualization.Dashboard(document.getElementById('PieChartExample')).bind([categoryPicker, stringFilter], [table]).draw(data);
google.visualization.events.addListener(categoryPicker, 'ready', selectHandler);
function selectHandler() {
var selection = categoryPicker.getSelection();
//display table
};
google.visualization.events.addListener(stringFilter, 'ready', selectHandler);
function selectHandler() {
var selection = stringFilter.getSelection();
//display table
};
}
请指教。提前致谢。
【问题讨论】:
标签: javascript google-visualization