2011-11-14 9 views
19

Tôi đang thêm hàng theo cách thủ công vào jqGrid sử dụng addRowData và thứ tự của các hàng này phải được duy trì.jqGrid: Tắt sắp xếp

Tuy nhiên, khi phân trang, tất cả các hàng được sắp xếp lại để sắp xếp theo cột hiển thị đầu tiên của lưới.

Tôi đã tắt tất cả các tùy chọn sắp xếp mà tôi có thể tìm thấy trong tài liệu.

Làm cách nào để ngăn chặn tất cả việc sắp xếp và duy trì thứ tự các hàng trên tất cả các trang?

Khởi mã đang được sử dụng:

$("#grid").jqGrid({ 
    autowidth: false, 
    cmTemplate: {sortable: false}, 
    colModel: config.gridColumnModel 
    height: 600, 
    pager: "#aggregationToolbar", 
    sortable: false, 
    shrinkToFit: false 
    url: "fetch", 
    viewrecords: false 
}); 

thiết lập mặc định được sử dụng (ghi đè bởi các tùy chọn trong các mã khởi tạo ở trên):

$.extend($.jgrid.defaults, { 
    altClass: "altRow", 
    altRows: true, 
    autowidth: true, 
    cmTemplate: { 
    align: "center", 
    title: false 
    }, 
    datatype: "local", 
    gridview: true, 
    height: "auto", 
    hidegrid: false, 
    jsonReader: { 
    page: function(obj) { return 1; }, 
    records: function(obj) { return obj.length; }, 
    repeatitems: false, 
    root: "objects", 
    total: function(obj) { return 1; } 
    }, 
    loadonce: true, 
    rowList: [50, 100, 250], 
    rowNum: 100, 
    sortable: true, 
    toppager: true, 
    viewrecords: true 
}); 
+0

Giá trị nào có tham số 'sortname' của jqGrid? Tại sao bạn cần sử dụng 'addRowData'? Bạn sử dụng 'datetype' nào? Sẽ tốt hơn nếu bạn bao gồm mã mà bạn sử dụng. – Oleg

+0

"sortname" không được sử dụng ở tất cả. "addRowData" được sử dụng vì một số yêu cầu xử lý sau cần thiết. "Datatype" là địa phương. –

+0

Trong ví dụ mã mà bạn đã đăng 'datatype' không được định nghĩa nên' datatype: 'xml'' sẽ được sử dụng. Bạn có sử dụng bất kỳ cài đặt mặc định nào không? Cái nào? Nếu bạn sử dụng kiểu dữ liệu ''local'' bạn có thể sử dụng tham số' data' của jqGrid làm việc nhanh hơn và hỗ trợ tất cả các tính năng cục bộ như phân trang, phân loại và lọc. Bạn có thể bao gồm bản trình diễn nhỏ với dữ liệu thử nghiệm có thể được sử dụng để tái tạo sự cố của bạn không? – Oleg

Trả lời

18

Đối với phiên bản có hỗ trợ cmTemplate, bạn có thể sử dụng:

cmTemplate: { sortable: false }


cmTemplate: Định nghĩa một tập hợp các thuộc tính mà ghi đè lên các giá trị mặc định trong colModel. Ví dụ: nếu bạn muốn tạo tất cả các cột không thể sắp xếp, thì chỉ có thể chỉ định một thuộc tính thích hợp thay vì chỉ định nó trong tất cả các cột trong colModel

17

Tùy thuộc vào jqGrid phiên bản bạn cần phải thực hiện sortable: false trên mỗi cột cụ thể + một cách rõ ràng ...

Để tham khảo, hãy xem here, herehere.