Dưới đây là một thay thế bằng cách sử dụng biểu đồ thay vì biểu đồ.
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();
Nếu bạn sử dụng ChartWrapper, bạn có thể dễ dàng thêm chức năng để thay đổi cột ẩn hoặc hiển thị tất cả các cột. Để hiển thị tất cả các cột, hãy vượt qua null
làm giá trị của 'columns'
. Ví dụ, sử dụng 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();
});
Trong html của bạn,
<button value="[0, 1, 3]" >Hide columns</button>
<button value="null">Expand All</button>
(Lưu ý:. eval
sử dụng cho conciseness Sử dụng những gì phù hợp với mã của bạn Đó là bên cạnh điểm..)
có cách nào để có hành vi này xảy ra khi ai đó nhấp vào liên kết không? Ví dụ, theo mặc định, tôi muốn ẩn một số cột (sử dụng view.hideColumns). Sau đó, tôi muốn có một liên kết 'Mở rộng' phía trên bảng mà khi người dùng nhấp vào nó, các cột còn lại được hiển thị (sử dụng view.setColumns). Tôi cũng mở để gợi ý cho việc triển khai tốt hơn về hành vi này. – Myx