Programowo ustawiając rodzaj siatki
Czy jest możliwe programowo ustawić parametr sortowania źródła danych KendoUI przed odczytaniem danych i uniknięciem drugiego odczytu serwera? Zakres określa domyślne sortowanie dla określonej interakcji użytkownika. W jaki sposób?
Oto przykład tego, co próbuję zrobić, ponieważ odpowiedzi nie docierają do sedna (a może nie rozumiem, jak wszystko działa).
Definiuję źródło danych Kendo w początkowym sortowaniu:
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"}
]
});
To źródło danych jest powiązane z siecią Kendo:
var grid = $("element").kendoGrid({
dataSource: datasource
});
Następnie mam przycisk, który wywołuje „odczyt” w DataSource i wypełnia siatkę pierwszą stroną danych:
$("#btn").bind("click", function(e) {
datasource.page(1);
});
W ten sposób, po kliknięciu przycisku, użytkownik otrzymuje dane uporządkowane według „pola_1” i „pola_2”, a siatka pokazuje ten rodzaj na nagłówkach kolumn. Użytkownik może zmienić kolejność danych w dowolny sposób, klikając nagłówek kolumny.
Chciałbym zresetować domyślne sortowanie do początkowego, zgodnie z definicją w deklaracji DataSource, pokazując je ponownie w nagłówkach kolumn i bez tworzenia nowego DataSource.
Coś jak:
$("#btn").bind("click", function(e) {
datasource.sort = [
{field: "field_1", dir: "asc"},
{field: "field_2", dir: "asc"}
];
datasource.page(1);
});
Dostarczone rozwiązania wydają się nie osiągać celu (a mimo to nie rozumiem, dlaczego tracę punkty reputacji za uzasadnione pytanie, które wydaje się nie być tak trywialne i powinno zostać rozwiązane przez ramy).
Pokaż mi, że się mylę (nie martwię się o utratę reputacji - chciałbym po prostu zrozumieć, jak rozwiązać problem).