14

Ich habe Kendo Gitter und ich setze Datenquelle dieses verwendetändern Kendo Raster-Datenquelle verwenden JS

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

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

Ich habe Taste auf meiner Seite und ich möchte Änderung Datenquelle, wenn ich diesen Knopf (Verwendung Java-Script) drücken. Ich mag tun somwthing wie diese

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

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

ich versuche, wie dies

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

aber ich weiß nicht, was nach grid.dataSource() zu tun. Wie kann ich die Datenquelle ändern? Thnaks und hoffen für Sie

Antwort

0

Da Sie die Aktion für Ihren Lesevorgang ändern möchten, können Sie das tun. Nach this question könnten Sie setzen nur die Datenquelle lesen url und aktualisieren Sie Ihre Rasterdaten mit etwas wie folgt aus:

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

Wenn Sie nicht tatsächlich die Datenquelle, aber Ihre Daten ändern möchten, und möglicherweise der Liste der Elemente erhalten von einer Ajax-Anfrage als JSON dann werde ich aufschreiben, wie ich es als ein Beispiel mache, falls jemand es will.

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

Die Funktion ist wie die oben ziemlich

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