2016-06-22 10 views
0

私はangularJSアプリで次のUIのグリッドを持っている」AngularJS活字体グリッドUI - 列の値として設定機能

this.resultGrid = { 
    enableRowSelection: true, 
    enableRowHeaderSelection: false, 
    enableHorizontalScrollbar: 0, 
    enableSorting: true, 
    columnDefs: [ 
     { name: 'Id', field: 'id' }, 
     { name: 'Name', field: 'name' }, 
     { name: 'Street', field: 'street' }, 
     { name: 'Postcode', field: 'postcode' }, 
     { name: 'City', field: 'city' }, 
     { name: 'Country', field: 'country' }, 
     { name: 'In System', field: 'inSys()' } 
    ], 
    data: [{ city: "Warsaw", country: "Poland", id: "123456789", name: "Company 1", postcode: "00-122", street: "Waszyngtona", inSys: this.inSys(id); }, //compilation error - cannot find name "id" 
{ city: "London", country: "UK", id: "987654321", name: "Company 2", street: "Downtown" }] 
}; 

と私は、このコントローラ内部で呼び出したい機能:

inSys = (id: string) => { 
    if (id== null || id.length == 0) 
     return false; 

    return this.myService.recordExistsInSys(id); 
} 

私はtypescriptの中でui-gridのカラム値として関数を渡す方法の例は見当たりませんでした。どのように対処するのですか?

+0

'inSys'関数を認識しましたか? – AranS

答えて

0

私は同じ問題を抱えていました。私はこれが働いた:

this.resultGrid = { 
    enableRowSelection: true, 
    enableRowHeaderSelection: false, 
    enableHorizontalScrollbar: 0, 
    enableSorting: true, 
    context: { 
      inSys: (row) => { 
       /*do something with row*/ 
    } 
    columnDefs: [ 
     { name: 'Id', field: 'id' }, 
     { name: 'Name', field: 'name' }, 
     { name: 'Street', field: 'street' }, 
     { name: 'Postcode', field: 'postcode' }, 
     { name: 'City', field: 'city' }, 
     { name: 'Country', field: 'country' }, 
     { name: 'In System', field: 'context.inSys(MODEL_COL_FIELD)' } 
    ], 
    data: [{ city: "Warsaw", country: "Poland", id: "123456789", name: "Company 1", postcode: "00-122", street: "Waszyngtona", inSys: this.inSys(id); }, //compilation error - cannot find name "id" 
{ city: "London", country: "UK", id: "987654321", name: "Company 2", street: "Downtown" }] 
}; 

私はあなたのコードを試していないが、多分これはあなたを助けることができます。