Gibt es eine Möglichkeit, ein Ereignis auszulösen, nachdem das Grid über Ajax neu geladen wurde?Kendo UI Grid-Post gerendert oder nach Databound-Ereignis?
Ich sehe die RequestEnd Ereignis. aber das scheint zu passieren, wenn die Anfrage zurückgegeben wurde, aber bevor das Gitter aktualisiert wurde.
Ich sehe auch DataBound Ereignis. aber das passiert sogar früher als RequestEnd,
auch wenn ich Databound-Ereignis implementieren, mein Kopf verschwindet ..
musste ich diese greifen hacken
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
}
als Randnotiz .. Ich habe ein sehr schwer, eine zuverlässige kendo grid mvc API Referenz zu finden. wenn ich google für sie, bekomme ich das: http://docs.telerik.com/kendo-ui/getting-started/using-kendo-with/aspnet-mvc/migration/widgets/grid das ist eine Sammlung von kleinen how-to und einige "Events", aber diese entsprechen nicht, was ich in Rasierapparat Intelissense sehen.
Update: Hinzufügen von Databound-Definition
$('#grid').kendoGrid({
dataBound: function(e) {
console.debug('data bound..');
}
});
und hier ist Gitter Ajax Definition
.Ajax().Read(read => read
.Action("FilesRead", "SomeController")
.Data("readData"))
function readData() {
return {
IncludeChildren: $("#IncludeChildren").is(':checked'),
SearchString: $('input[id=SearchString]').val()
};
}
ich kann sehen, dass Databound ausgelöst wird, während die Ajax-Aufruf zu machen, nicht nachdem er zurückkommt.
Update
das Databound Hook korrigiert.
in Databound-Funktion, ich versuche zu neu gerendert Vorlagen einen Verweis zu bekommen ..
function dataBound(o) {
console.debug($('span.editable').length); // returns 0
setTimeout("console.debug($('span.editable').length)", 500); // returns 4
}
die Spannweiten einer Kunden-Template
.ClientTemplate(@"<span class=""editable"" ... >#=DOCUMENT_DATE_FORMATTED#</span>");
sehen, was ich meine mit hinzugefügt werden? Daten gebunden geschieht, bevor Gitter aus den documentation genommen gemacht wird
das DataBound-Ereignis wird ausgelöst, nachdem das DOM aktualisiert wurde; Wenn Sie das erwartete Ergebnis nicht erhalten, liegt ein Problem mit Ihrem Code vor, daher sollten Sie hinzufügen, dass –
@ LarsHöppner diesen Code hinzugefügt hat. Lassen Sie es mich wissen, wenn mehr benötigt wird. –
diese span.editable Elemente sind Teil der Vorlage? –