Вот альтернатива, использующая 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
используется для лаконичности Используйте то, что подходит для вашего кода Это рядом с точкой.).
Есть ли способ совершить такое поведение, когда кто-то нажимает на ссылку? Например, по умолчанию я хочу скрыть некоторые столбцы (используя view.hideColumns). Затем я хочу иметь ссылку «Развернуть» над таблицей, когда пользователь нажимает на нее, остальные столбцы отображаются (используя view.setColumns). Я также открыт для предложений по улучшению реализации такого поведения. – Myx