2014-09-11 58 views
0

我使用kendo ui网格与角度。我希望网格能够随着数组(任何属性)的每次更改而更新。意思是说,如果我的数据是:使用kendo网格模板的角度绑定

this.rowData = [{ id: "1", name: "A", age: "16" }, { id: "2", name: "B", age: "42" }]; 

并将年龄从16更改为17我希望网格自动更新。

据我所知,我可以使用ObservableArray,当更新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

您可以尝试NG-绑定改为:

template: "<label ng-bind='dataItem.age'></label>" 
0
var rowDataObservable = new kendo.data.ObservableArray(this.rowData); 

... 数据:rowDataObservable, ... //你需要rowDataObservable工作,这将工作

rowDataObservable[0].age = 17;