Javascript 通过读取变量刷新剑道UI网格数据
网格从javascript变量读取数据Javascript 通过读取变量刷新剑道UI网格数据,javascript,jquery,kendo-ui,kendo-grid,Javascript,Jquery,Kendo Ui,Kendo Grid,网格从javascript变量读取数据 $("#grid").kendoGrid({ dataSource: { type: "text", data: jsvar, schema: { model: { fields: { id: {type: "string", editable: false},
$("#grid").kendoGrid({
dataSource: {
type: "text",
data: jsvar,
schema: {
model: {
fields: {
id: {type: "string", editable: false},
name: {type: "string"}
}
}
},
pageSize: 20
},
pageable: {
input: true,
numeric: true
},
//toolbar: [{text: "Add"}],
columns: [
{command: [{text: "Edit", click: showDetailse}, {text: "View", click: viewoneitm}], title: " ", width: "170px"},
]
});
然后我用ajax更改这个变量jsvar的值,等待ajax响应,然后用ajax刷新网格
jQuery("#grid").data("kendoGrid").dataSource.read();
jQuery("#grid").data("kendoGrid").refresh();
网格不会重新填充新数据,而旧数据会保留在网格中。请告诉我如何刷新网格数据。
在我提供静态数据之前,网格一直都很好地刷新,但在我使用ajax然后“刷新”之后,它无法更新如果
jsvar
包含一个数组,剑道数据源将为每个数组项创建一个模型,因此如果修改原始数组,它将不会更改数据源。如果要更改数据,应按以下方式执行:
grid.dataSource.data(jsvar);
我陷入了困境,任何形式的帮助都将不胜感激。如果有人感兴趣,我可以分享完整的代码。非常感谢拉尔斯,你救了我一天。成功了<代码>jQuery(“#grid”).data(“kendoGrid”).dataSource.data(jsdatax);jQuery(“#grid”).data(“kendoGrid”).refresh()代码>使用angularjs您可以使用类似:$scope.grid.dataSource.data($scope.jsdatax)$scope.grid.refresh();