Есть ли способ вызвать событие после перезагрузки сетки через ajax?Kendo UI Grid post визуализируется или публикуется событие с данными?
Я вижу RequestEnd событие. но это, похоже, произойдет, когда запрос вернется, но до обновления сетки.
Я также вижу DataBound событие. но это происходит даже раньше, чем RequestEnd,
также, когда я реализовать DataBound событие, мой заголовок исчезает ..
я должен был прибегать к этому взломать
function requestEnd(o) {
console.debug('request ended.', o);
setTimeout(refreshEditable, 500); // enough time to render the grid
}
function refreshEditable() {
// perform my actions on controls within grid content
}
как примечание стороны .. Я имею очень сложно найти надежную ссылку на API mvc grid кендо. когда я говорю об этом в Google, я получаю следующее: http://docs.telerik.com/kendo-ui/getting-started/using-kendo-with/aspnet-mvc/migration/widgets/grid , который представляет собой сборник небольших практических и некоторых «событий», но это не соответствует тому, что я вижу в бритвой intelisense.
обновление: добавление определение с привязкой к данным
$('#grid').kendoGrid({
dataBound: function(e) {
console.debug('data bound..');
}
});
и здесь сетки определение Аякса
.Ajax().Read(read => read
.Action("FilesRead", "SomeController")
.Data("readData"))
function readData() {
return {
IncludeChildren: $("#IncludeChildren").is(':checked'),
SearchString: $('input[id=SearchString]').val()
};
}
я могу видеть, что DataBound срабатывает при принятии вызова Ajax, а не после того, как он возвращается.
обновление
исправил крючок событий DataBound.
в функции DataBound, я пытаюсь получить ссылку на недавно оказанные шаблоны ..
function dataBound(o) {
console.debug($('span.editable').length); // returns 0
setTimeout("console.debug($('span.editable').length)", 500); // returns 4
}
пролеты добавляются с помощью шаблона клиента
.ClientTemplate(@"<span class=""editable"" ... >#=DOCUMENT_DATE_FORMATTED#</span>");
посмотреть, что я имею в виду? Данные связаны происходят до сетки оказываются
Событие DataBound запускается после обновления DOM; если вы не получаете ожидаемого результата, есть проблема с вашим кодом, поэтому вы должны добавить, что –
@ LarsHöppner добавил этот код .. дайте мне знать, если потребуется больше. –
Эти элементы span.editable являются частью шаблона? –