2013-05-15 39 views
6

Tôi hiện đang có lưới Kendo-UI. Nó có một vài cột nơi người dùng có thể sắp xếp, hoạt động tốt. Tôi cũng có một liên kết chi tiết trên mỗi hàng, vì vậy nếu người dùng nhấp vào điều này, họ sẽ được đưa đến trang chi tiết. Tôi cần chuyển loại hiện tại vào trang chi tiết dưới dạng giá trị. Làm thế nào tôi có thể có được loại hiện tại? có sự kiện nào tôi có thể liên kết với? Cảm ơnLàm thế nào để có được sự kiện sắp xếp lưới kendo ui?

+0

Nếu liên kết là những gì gây nên hiển thị chi tiết, tại sao không nhận được sắp xếp hiện tại trên đó? – OnaBai

+1

nhưng làm cách nào để biết loại cột nào đã được nhấp? nếu nó giảm dần hoặc tăng dần? tức là nếu tôi có 4 cột. Tôi sắp xếp trên cột 3 desc. làm thế nào để tôi biết điều đó? – user2206329

+0

Xin vui lòng, kiểm tra câu trả lời của tôi – OnaBai

Trả lời

11

Bạn có thể nhận cấu hình sắp xếp bất cứ khi nào bạn muốn sử dụng sort method.

Ví dụ: Đang grid số id trong lưới của bạn. Do:

// Get the grid object 
var grid = $("#grid").data("kendoGrid"); 
// Get the datasource bound to the grid 
var ds = grid.dataSource; 
// Get current sorting 
var sort = ds.sort(); 
// Display sorting fields and direction 
if (sort) { 
    for (var i = 0; i < sort.length; i++) { 
     alert ("Field:" + sort[i].field + " direction:" + sort[i].dir); 
    } 
} else { 
    alert("no sorting"); 
} 
+0

đó là chính xác những gì tôi đang tìm kiếm .. cảm ơn bạn vì điều đó. Bạn có biết cách lấy giá trị của số hàng của hàng được nhấp không? nếu tôi nhấp vào hàng thứ 5 để cảnh báo 5 .. hoặc nếu tôi truy cập trang thứ 4 và nhấp vào mục thứ 5 để cảnh báo 45? – user2206329

+1

Như một khuyến nghị chung, bạn không nên hỏi một câu hỏi mới trong một bình luận vì cơ hội cho người khác đọc nó khá thấp. Nói rằng, bạn nên sử dụng 'dataSource.indexOf' của mục tương ứng với hàng được nhấp và bạn biết hàng bằng cách sử dụng một cái gì đó như' grid.dataItem ($ (this) .closest ("tr")); 'bên trong trình xử lý của sự kiện 'click'. – OnaBai

+0

Cool, vấn đề duy nhất với điều đó là khi sắp xếp đã được áp dụng id vẫn giống nhau. Tôi đã mong đợi mục đầu tiên là chỉ mục của 1. Nhưng khi các mục được sắp xếp theo desc mục đầu tiên là 1200. Tôi chỉ muốn một số hàng cho mỗi hàng bất kể sắp xếp. cảm ơn vì tôi sẽ đăng bài này như một cuộc thảo luận mới. Nhưng thật khó để đăng câu hỏi lên luồng lưu trữ. Nó tiếp tục nói rằng câu hỏi không vượt qua xác nhận của họ. – user2206329

0

Tôi đã gặp nhu cầu này hôm nay và biết rằng sự kiện hiện có mặt kể từ năm 2016 phát hành R3 (2016.3.914).

Ví dụ sử dụng:

<div id="grid"></div> 
<script> 
    $("#grid").kendoGrid({ 
    columns: [ 
     { field: "name" }, 
     { field: "age" } 
], 
dataSource: { 
    data: [ 
     { id: 1, name: "Jane Doe", age: 30 }, 
     { id: 2, name: "John Doe", age: 33 } 
    ], 
    schema: { 
     model: { id: "id" } 
    } 
    }, 
    sortable: true, 
    sort: function(e) { 
     console.log(e.sort.field); 
     console.log(e.sort.dir); 
    } 
    }); 
</script> 

Xem: http://docs.telerik.com/kendo-ui/api/javascript/ui/grid#events-sort

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