2014-04-03 15 views
0

在ng-grid中我需要其中一列顯示取決於對象的多個屬性的值。所以我需要傳遞整個對象而不僅僅是它的一個屬性。將整個對象傳遞給ng-grid中的cellFilter函數

在項目的其他位置,我解決了這個由另一個對象的發言權,value財產包裹我的對象,因此,例如一列被綁定到value.FirstName,另一種只是爲了value

有沒有辦法避免這種翹曲,例如只傳遞一個空的field屬性,或者只是刪除field屬性?非這些方法似乎工作。

感謝

回答

3

請勿設置field,然後在cellTemplate中使用row.entity。這裏有一個例子:

$scope.myData = [ 
    { 
    firstName: 'Bob', 
    lastName: 'Smith', 
    age: 43 
    }, 
    { 
    firstName: 'Joe', 
    lastName: 'Williams', 
    age: 39 
    } 
]; 

$scope.gridOptions = { 
    data: myData, 
    colDefs: [ 
    { 
     displayName: 'Name', 
     cellTemplate: '<div>{{row.entity.firstName}} {{row.entity.lastName}}</div>' 
    }, 
    { 
     displayName: 'Age', 
     field: age 
    } 
    ] 
}; 

這將導致像這樣的表:

+--------------+-----+ 
| Name   | Age | 
+--------------+-----+ 
| Bob Smith | 43 | 
+--------------+-----+ 
| Joe Williams | 39 | 
+--------------+-----+ 
1

您可以使用它可以從電池模板的任何地方被引用row.entity對象。它在構建網格時與當前行的整個對象鏈接。

+0

謝謝你,這種方法可行。我不得不接受Kabb5的答案,因爲它包含更多細節。 – Alireza