Вот альтернатива, использующая ChartWrapper вместо диаграммы.
var opts = {
"containerId": "chart_div",
"dataTable": datatable,
"chartType": "Table",
"options": {"title": "Now you see the columns, now you don't!"}
}
var chartwrapper = new google.visualization.ChartWrapper(opts);
// set the columns to show
chartwrapper.setView({'columns': [0, 1, 4, 5]});
chartwrapper.draw();
Если вы используете ChartWrapper, вы можете легко добавить функцию для изменения скрытых столбцов или показать все столбцы. Чтобы показать все столбцы, передайте null
в качестве значения 'columns'
. Например, используя jQuery,
$('button').click(function() {
// use your preferred method to get an array of column indexes or null
var columns = eval($(this).val());
chartwrapper.setView({'columns': columns});
chartwrapper.draw();
});
В вашем html,
<button value="[0, 1, 3]" >Hide columns</button>
<button value="null">Expand All</button>
(Примечание: eval
используется для краткости. Используйте то, что подходит вашему коду. Это не относится к делу.)