14

ho griglia di Kendo e ho impostato utilizzare questa fonte di daticambiamenti di uso del grid kendo Origine dati JS

.DataSource(dataSource => dataSource 
           .Ajax() 
           .PageSize(20) 

           .Read(read => read.Action("GetWorker", "Worker")) 

ho pulsante sulla mia pagina e voglio cambiare datasource quando si preme questo tasto (java script uso). Io voglio fare somwthing come questo

.DataSource(dataSource => dataSource 
           .Ajax() 
           .PageSize(20) 

           .Read(read => read.Action("GetDisabled", "Worker")) 

provo fare come questo

var grid = $("grid").data("kenodGrid"); 
      grid.dataSource().read() 

ma io non so cosa fare dopo grid.dataSource(). come posso cambiare l'origine dei dati? Thnaks e di speranza per aiutare

risposta

0

Dal momento che si desidera modificare l'azione per la lettura, è possibile farlo. Secondo this question si può solo impostare il DataSource Leggi URL e aggiornare i dati della griglia con qualcosa di simile:

var grid = $("#grid").data("kendoGrid"); 
grid.dataSource.transport.options.read.url = "newUrlPath"; 
grid.dataSource.read(); 
grid.refresh(); 

Se non si vuole realmente cambiare il vostro dataSource ma i dati e, eventualmente, ottenere il vostro elenco di elementi da alcune richieste di ajax come json, scriverò il modo in cui lo faccio come esempio nel caso qualcuno lo voglia.

var jsonData = ... // From some ajax response 
var newKendoDatasource = newKendoDS(jsonData); 
$("#grid").data("kendoGrid").dataSource.data(newKendoDatasource._data); 

La funzione è simile a quanto sopra praticamente

function newKendoDS(ndata) { 
    var datasource = new kendo.data.DataSource({ data: ndata }); 
    datasource.read(); // In order to refresh 
    return datasource; 
} 
Problemi correlati