2012-03-20 42 views

Trả lời

9

Trên phiên bản mới nhất bạn có thể làm điều này:

grid.setSortColumn("myColId",true); //columnId, ascending 

Bạn cũng có thể đặt nhiều với setSortColumn * s *

+0

Vì tôi đang sử dụng DataView, tôi không tin phương pháp này sẽ hoạt động. Tôi đã kết thúc kích hoạt 'dataView.sort (so sánh, sai)' sau khi thiết lập 'sortcol = 'myColName''. (Tôi có nên thêm và chấp nhận câu trả lời của riêng mình không?) – podcastfan88

+0

Tôi khá nhầm lẫn ở đó. Tôi đã thử nó bằng cách sử dụng 'dataView.setSortColumn', mà không làm việc. Nhưng sử dụng nó trên ví dụ lưới của tôi đã làm việc. Như đã làm giải pháp của tôi ở trên. – podcastfan88

+0

@stuart Tôi đã thử điều này nhưng tất cả những gì bạn làm là hiển thị cột sắp xếp như được nhấp. Nó không kích hoạt một sắp xếp trên dataView của tôi, được đăng ký với sự kiện onSort. Làm cách nào để tôi kích hoạt tính năng này? –

1

Xem giải pháp của tôi ở đây. Điều này áp dụng sắp xếp trên một cột ban đầu mà không cần sử dụng Dataview.

Calling sort on slickgrid

Tôi nghĩ rằng nó làm những gì bạn muốn.

Btw vì bạn đang sử dụng Dataview. Bạn cũng có thể dùng thử. Nhưng tôi đã không đích thân thử điều này.

dataview.reSort() 
0

Tôi đã có một ý nghĩ thú vị mà làm việc, và đó là chỉ cho phép các tiêu đề đa cột sắp xếp (ví dụ-đa-cột-sort.html), và sau đó một lần lưới đã được nạp mô phỏng một nhấp chuột () trên hàng tiêu đề tôi muốn được sắp xếp khi lưới đầu tiên xuất hiện ("thời gian" là tên của cột của tôi, tôi đã sắp xếp). ID của các tiêu đề cột được tính tương tự như id cho div gốc của lưới điện (ít nhất là cho bây giờ: 0)):

 var gridId = $('#myGrid').attr("class"); 
     gridId = '#'+gridId.replace(" ui-widget","")+'time'; 
     $(gridId).click(); 

Sau đó người dùng có thể nhấp vào bất cứ điều gì tiêu đề cột khác mà họ muốn, nhưng tôi chỉ cần nhấp vào cái đầu tiên cho họ.

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