L'evento dataSource.changed funziona?Kendo UI dataSource evento modificato: funziona?
Dopo la mia griglia di Kendo UI è istanziato, sto legando l'evento di modifica per la documentazione qui:
http://docs.kendoui.com/api/framework/datasource#change
//To set after initialization
dataSource.bind("change", function(e) {
// handle event
});
sto facendo questo:
// initialize
$("#grid").kendoGrid({
dataSource: dataSource,
blah blah blah
)
});
// end of initialization
// bind afterwards
var grid = $('#grid').data('kendoGrid');
grid.dataSource.bind("change", function (e) {
dataChanged();
});
//also tried a setTimeout:
// bind afterwards
setTimeout(function() {
var grid = $('#grid').data('kendoGrid');
grid.dataSource.bind("change", function (e) {
dataChanged();
});
}, 350);
function dataChanged() {
// handle "change" whatever that means -- documentation definition is hazy
// does reassigning the data array constitute a change?
// does changing the value of a particular item in the data array
// constitute a change?
// does removing an item from the data array constitute a change?
var grid = $("#grid").data("kendoGrid");
grid.refresh();
}
Ma il mio DataChanged() la funzione non viene chiamata quando faccio una di queste cose:
var grid = $('#grid').data('kendoGrid');
grid.dataSource.data()[1]["deptname"] = 'XXX';
o
grid.dataSource.data = aDifferentArray;
Non sono sicuro esattamente ciò che l'evento 'cambiato' è in attesa di. Che cosa, precisamente, dovrebbe far scattare?
Se creo un dataSource completamente nuovo e lo assegno alla griglia che ha già un dataSource, non vedo come ciò possa innescare l'evento modificato di un'origine dati esistente. Un evento del genere (la griglia che rileva che il suo dataSource è stato sostituito con uno diverso) sarebbe un evento a livello di griglia, non un evento a livello di dati, giusto?
grazie per il chiarimento. Il metodo '.set' attiva l'evento change mentre' grid.dataSource.data = aDifferentArray' non lo fa, per quanto ne so. Spero che nella griglia di Kendo ci sia un equivalente all'evento DataSource_Changed nelle griglie di WinForms - attivato quando alla griglia viene assegnata un'origine dati diversa, perché spero di aggiornare la griglia con i nuovi dati ogni 60 secondi: http://stackoverflow.com/ questions/13892021/kendo-ui-grid-refreshing-grid-data-ogni-60-seconds-with-new-data-datasource-a/13892541 # comment19140263_13892541 – Tim
In realtà, per scambiare i dati, penso che si usi ' Funzione .data(): http: //docs.kendoui.com/api/framework/datasource # data quindi il tuo codice sarebbe 'grid.dataSource.data (aDifferentArray);' – CodingWithSpike
eccellente! Grazie mille. – Tim