在ng-grid中,我需要一个列来显示依赖于我的对象的多个属性的值。所以我需要传递整个对象而不仅仅是其中一个属性。
在项目的另一个位置,我通过将对象包装在另一个对象(例如value
属性)中解决了这个问题,因此例如一列绑定到value.FirstName
而另一列刚绑定到value
到field
。
有没有办法避免这种扭曲,例如只传递一个空的field
属性,或者只是删除{{1}}属性?这些方法似乎都不起作用。
由于
答案 0 :(得分:4)
不要设置field
,然后在row.entity
中使用cellTemplate
。这是一个例子:
$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 :(得分:1)
您可以使用row.entity对象,该对象可以从单元格模板的任何位置引用。在构建网格时,它链接到当前行的整个对象。