我正在尝试从Smart-Table版本1.x 切换到Angular ui-grid(版本3.0),替换ng-grid.
我几乎喜欢关于ui-grid的一切,但有一件事让我发疯.在智能表中,有一个值dataRow,这是一种在表中引用实体的便捷方式.
我使用它的是填充html模板以包含来自实体的字段信息,类似于ng-click="$parentScope.edit(dataRow.id)"放置在网格单元格中的html模板.
但是,在ui-grid中,我似乎无法在不进行正式行或单元格选择的情况下访问实体对象.将它包含在单元格模板中的任何努力都会产生一个对象(row.entity)但我无法访问任何实体元素,它们显示为未定义.有任何想法吗?
此外,我已经能够在html模板中执行一个方法,但只能在没有参数的情况下执行,而不是尝试使用实体本身的参数.
这是我使用smart-table的 html模板:
<a data-toggle="tooltip" data-placement="top" title="View {{filteredRowCollection}}" ng-click="$parent.$parent.$parent.$parent.view(dataRow.id)"
class="glyphicon glyphicon-camera green">
</a>
<a data-toggle="tooltip" data-placement="top" title="Edit {{selectionId}}" ng-click="grid.appScope.edit(row.entity.id)"
class="glyphicon glyphicon-pencil blue">
</a>
<a data-toggle="tooltip" data-placement="top" title="Delete {{selectionId}}" ng-click="$parent.$parent.$parent.$parent.delete(dataRow.id)"
class="glyphicon glyphicon-trash red">
</a>
Run Code Online (Sandbox Code Playgroud)
我试图用ui-grid这样的东西:
function edit(row){
. . .
};
Run Code Online (Sandbox Code Playgroud)
row,此时是一个对象,就是这样row.entity.我希望能够使用row.entity.id其中一个字段,但确实如此undefined.