Có thể lập trình tham số sắp xếp của Nguồn dữ liệu KendoUI trước khi đọc dữ liệu và tránh đọc máy chủ thứ hai không? Phạm vi thiết lập loại mặc định trên tương tác người dùng nhất định. Làm sao?KendoUI: lập trình sắp xếp lưới sắp xếp
Dưới đây là một ví dụ về những gì tôi đang cố gắng làm, bởi vì các câu trả lời không nhận được đến điểm (hoặc có thể tôi không hiểu cách thức hoạt động).
tôi xác định một Kendo DataSource với một loại ban đầu:
var datasource = new kendo.data.DataSource({
parameterMap: function (inputParams, operation) {
return JSON.stringify(inputParams)
},
// default sort
sort: [
{field: "field_1", dir: "asc"},
{field: "field_2", dir: "asc"}
]
});
DataSource này được ràng buộc với một lưới Kendo:
var grid = $("element").kendoGrid({
dataSource: datasource
});
Sau đó, tôi có một nút gọi là "đọc" trên DataSource và populates lưới với trang đầu tiên của dữ liệu:
$("#btn").bind("click", function(e) {
datasource.page(1);
});
bằng cách này, sau khi nhấp vào bu tton, người dùng nhận dữ liệu được sắp xếp theo "field_1" và "field_2" và lưới hiển thị loại này trên tiêu đề cột. Sau đó, người dùng có thể sắp xếp lại dữ liệu theo bất kỳ cách nào bằng cách nhấp vào tiêu đề cột.
Điều tôi muốn làm là đặt lại kiểu mặc định thành sắp xếp ban đầu, như được xác định trong khai báo DataSource, hiển thị lại trên tiêu đề cột và không tạo lại nguồn dữ liệu mới.
Cái gì như:
$("#btn").bind("click", function(e) {
datasource.sort = [
{field: "field_1", dir: "asc"},
{field: "field_2", dir: "asc"}
];
datasource.page(1);
});
Các giải pháp cung cấp dường như không đạt đến điểm (và tôi vẫn không hiểu tại sao tôi mất điểm danh tiếng cho một câu hỏi chính đáng mà có vẻ là không quá tầm thường và nên được giải quyết bởi khung công tác).
Hãy cho tôi biết tôi sai (Tôi không lo lắng về việc mất uy tín - Tôi chỉ muốn hiểu cách giải quyết vấn đề). Cảm ơn bạn!
Tôi cho rằng điều đó là không thể. –
dường như hoạt động trong JS bằng cách thực hiện $ grid.dataSource.sort ( {field: "A", dir: "desc"}, {trường: "B", dir: "asc"}, {field: "C", dir: "asc"}, {trường: "D", dir: "desc"} ); Vấn đề duy nhất tôi thấy mặc dù là các chỉ số sắp xếp không hiển thị trên tất cả các cột, – topwik