14

我有劍道電網和我設置數據源使用此變化劍道電網數據源使用JS

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

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

我有我的網頁上按鈕和我想改變數據源,當我按下此鍵(使用Java腳本)。我想這樣做somwthing這樣

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

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

我嘗試做這樣的

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

,但我不知道grid.dataSource後做什麼()。我如何更改數據源? Thnaks並希望您幫助

回答

0

既然你想改變你的閱讀動作,那麼你可以做到這一點。 據this question你可以只設置DataSource讀取網址,並用類似的東西刷新網格數據:

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

如果你實際上並不想改變你的數據源,但您的數據和可能獲得的項目清單從json的一些ajax請求,然後我會寫下我做它的方式作爲例子,以防有人需要它。

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

功能是像上面幾乎

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