14

mam Kendo siatkę i ustawić źródło danych to wykorzystaćZmień użycie siatki kendo DataSource JS

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

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

mam przycisk na mojej stronie i chcę zmiany źródła danych po naciśnięciu przycisku (użyj tego skryptu Java). Chcę zrobić somwthing jak ten

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

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

próbuję zrobić jak ten

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

ale nie wiem, co robić po grid.dataSource(). jak mogę zmienić źródło danych? Thnaks i nadzieję pomóc

Odpowiedz

0

Ponieważ chcesz zmienić akcję odczytu, możesz to zrobić. Według this question można po prostu ustawić adres URL źródła danych Odczyt i odświeżyć swoje dane siatki z czymś takim:

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

Jeśli w rzeczywistości nie chcą zmienić swoje źródła danych, ale dane i ewentualnie uzyskać listę elementów z jakiegoś zapytania ajaxowego, jak json, zapisuję sposób, w jaki robię to jako przykład na wypadek, gdyby ktoś tego chciał.

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

Funkcja jest jak wyżej dość dużo

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