2012-05-02 7 views
5

Có cách nào tôi có thể bật hoặc tắt sắp xếp cột trong thời gian chạy không?JQGRID bật/tắt cột sắp xếp

Tôi có thể xóa hoặc thêm lớp làm cho sắp xếp có thể, và khi tôi xóa nó, bạn không thể sắp xếp cột. Nhưng khi tôi khôi phục lại, lưới sắp xếp cột đó tự động như thể ai đó đã sắp xếp nó.

+0

Cung cấp mã ví dụ sẽ là hữu ích để có được một câu trả lời. –

+1

Điều này có phù hợp với bạn không? Cập nhật colModel cho lưới, thay đổi/thêm/xóa thuộc tính có thể sắp xếp và chỉ mục cho cột được đề cập, sau đó tải lại lưới. –

Trả lời

13

Có, bạn có thể.

Hãy viết một số bối cảnh:

//Here you have your grid. 
jQuery('#myGrid'); 
//Here the definition of a colModel 
{name:'Name', index:'name', sortable:true, align:'left', required: true, editable:true, edittype:'text'} 

Và bây giờ, khi bạn click vào một số nút bạn gọi một chức năng, mà là vụ phải vô hiệu hóa sắp xếp từ tên cột. Đây là chức năng của giao diện.

function disableSorting(){ 
    jQuery('#myGrid').setColProp('Name', {sortable: false}); 
} 

Tested và nó hoạt động :)

1
$("#jqGrid").jqGrid({ 
    colModel: [ { label: 'Category Name', name: 'CategoryName', width: 75, **sortable: false** }] 
}); 
+2

Tại sao OP nên thử cái này? Một ** câu trả lời hay ** sẽ luôn luôn có một giải thích về những gì đã được thực hiện và tại sao nó được thực hiện theo cách đó, không chỉ cho OP mà đối với khách truy cập trong tương lai của SO có thể tìm thấy câu hỏi này và đọc câu trả lời của bạn. –