2014-05-20 20 views
6

Tôi chỉ muốn sắp xếp cột 0 giảm dần. Tôi đang sử dụng mã này:Sắp xếp trong Biểu đồ Bảng Google

var table = new google.visualization.ChartWrapper({ 
    chartType: 'Table', 
    containerId: 'chart_table_a', 
    options: { 
    sortColumn: 0, 
    sortAscending: false, 
    sort: 'enable' 
    } 
}); 

Tôi không muốn sắp xếp bảng, nhưng mã chỉ hoạt động với sort: 'enable'.

Có cách nào để sắp xếp mà không làm cho bảng có thể sắp xếp được không?

Trả lời

9

Sắp xếp của bạn DataTable:

// sort by column 0, descending 
data.sort({column: 0, desc: true}); 

hoặc sử dụng một DataView sắp xếp:

var view = new google.visualization.DataView(data); 
view.setRows(data.getSortedRows({column: 0, desc: true})); 
table.draw(view, options); 

Sorting DataTable sẽ thay đổi thứ tự thực tế của dữ liệu, và sẽ ảnh hưởng đến bảng xếp hạng/bảng khác sử dụng DataTable . Điều này có thể tốn kém về việc sử dụng CPU nếu DataTable chứa một số lượng lớn các hàng. Sử dụng một DataView bảo tồn dữ liệu trong DataTable ban đầu (với chi phí tăng sử dụng bộ nhớ), và tương đối rẻ về thời gian CPU, nhưng nếu DataTable của bạn không lớn hoặc bạn không có bất kỳ biểu đồ nào khác dựa vào nó, bạn có thể an toàn khi sắp xếp DataTable cơ bản.

+0

Cảm ơn Andrew. Tôi vừa cập nhật mã, vì tôi đã sử dụng bảng như một phần của trang tổng quan. Trong trường hợp này, làm thế nào tôi có thể sử dụng một trong các giải pháp của bạn? – Khrys

+1

Bạn vẫn có thể sắp xếp DataTable cơ sở (hoặc tạo một DataView được sắp xếp để điều khiển Trang tổng quan của mình). Nếu bạn có các biểu đồ khác phụ thuộc vào thứ tự sắp xếp cụ thể và bạn muốn thay đổi thứ tự sắp xếp cho Bảng, thì điều này trở nên phức tạp hơn một chút. – asgallant

+0

Cảm ơn Andrew. Lý do duy nhất để không cho phép người dùng sắp xếp là: Khi người dùng sắp xếp bảng nó bị mất tùy chỉnh css được áp dụng (tôi sẽ bắt đầu một câu hỏi khác với tình huống đó). – Khrys

Các vấn đề liên quan