Программная настройка сортировки сетки
Можно ли программно установить параметр сортировки источника данных KendoUI перед чтением данных и избежать повторного чтения с сервера? Область действия задает сортировку по умолчанию для определенного взаимодействия с пользователем. Как?
Вот пример того, что я пытаюсь сделать, потому что ответы не доходят до сути (или, может быть, я не понимаю, как все работает).
Я определяю источник данных Kendo с начальной сортировкой:
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"}
]
});
Этот источник данных связан с сеткой Kendo:
var grid = $("element").kendoGrid({
dataSource: datasource
});
Тогда у меня есть кнопка, которая вызывает "читать" на DataSource и заполняет сетку первой страницей данных:
$("#btn").bind("click", function(e) {
datasource.page(1);
});
Таким образом, после нажатия кнопки пользователь получает данные, упорядоченные поfield_1" а также "field_2", и сетка показывает этот вид заголовков столбцов. Затем пользователь может изменить порядок данных любым способом, щелкнув заголовок столбца.
Я хотел бы восстановить исходную сортировку по умолчанию, как это определено в объявлении DataSource, снова показывая ее в заголовках столбцов и без создания нового DataSource снова.
Что-то вроде:
$("#btn").bind("click", function(e) {
datasource.sort = [
{field: "field_1", dir: "asc"},
{field: "field_2", dir: "asc"}
];
datasource.page(1);
});
Представленные решения, похоже, не достигают цели (и все же я не понимаю, почему я теряю очки репутации за законный вопрос, который, кажется, не так тривиален и должен решаться структурой).
Пожалуйста, покажите мне, что я не прав (я не беспокоюсь о потере репутации - я хотел бы просто понять, как решить проблему).