我使用带角度的kendo ui网格。我希望网格能够随着数组(任何属性)的每次更改而更新。意思是,如果我的数据是:
this.rowData = [{ id: "1", name: "A", age: "16" }, { id: "2", name: "B", age: "42" }];
并且年龄从16更改为17我希望网格自动更新。
我知道我可以使用ObservableArray,在更新observable时,网格会更新,但我不希望整个应用程序知道observable。我希望能够更新原始rowData并影响网格。有关我如何做的任何建议吗?
我认为使用角度绑定向行或特定列添加模板会有所帮助,但它没有,这是一个例子:
function Controller(GridConstants) {
this.rowData = [{ id: "1", name: "A", age: "16" }, { id: "2", name: "B", age: "42" }];
this.gridDataSource = new kendo.data.DataSource({
data: new kendo.data.ObservableArray(this.rowData),
schema: {
model: { id: "id" }
}
});
this.gridOptions = {
dataSource: this.gridDataSource,
selectable: "row",
columns: [
{
field: "name",
title: "Name"
},
{
field: "age",
title: "Age",
template: "<label>{{dataItem.age}}</label>"
}
],
selectable: "single"
};
}
答案 0 :(得分:1)
您可以尝试使用ng-bind:
template: "<label ng-bind='dataItem.age'></label>"
答案 1 :(得分:0)
var rowDataObservable = new kendo.data.ObservableArray(this.rowData);
... data:rowDataObservable, ... //你需要使用rowDataObservable,这将起作用
rowDataObservable[0].age = 17;