Solución:
Creo que primero debería crear una nueva fuente de datos (consulte https://demos.telerik.com/kendo-ui/datasource/remote-data-binding para datos remotos)
var dataSource = new kendo.data.DataSource({
data: [
{ name: "John Doe", age: 33 }
]
});
Y luego añádalo a la cuadrícula utilizando el método setDataSource (https://docs.telerik.com/kendo-ui/api/javascript/ui/grid/methods/setdatasource)
var grid = $("#grid").data("kendoGrid");
grid.setDataSource(dataSource);
Como desea cambiar la acción de su lectura, puede hacerlo. De acuerdo con esta pregunta, puede configurar la URL de lectura de dataSource y actualizar los datos de su cuadrícula con algo como eso:
var grid = $("#grid").data("kendoGrid");
grid.dataSource.transport.options.read.url = "newUrlPath";
grid.dataSource.read();
grid.refresh();
Si en realidad no desea cambiar su fuente de datos, sino sus datos y posiblemente obtener su lista de elementos de alguna solicitud ajax como json, escribiré la forma en que lo hago como ejemplo en caso de que alguien lo desee.
var jsonData = ... // From some ajax response
var newKendoDatasource = newKendoDS(jsonData);
$("#grid").data("kendoGrid").dataSource.data(newKendoDatasource._data);
La función es como la anterior prácticamente
function newKendoDS(ndata) {
var datasource = new kendo.data.DataSource({ data: ndata });
datasource.read(); // In order to refresh
return datasource;
}