我正在尝试从Smart-Table 1.x版切换到Angular ui-grid(3.0版),替代ng-grid。
我几乎喜欢ui-grid的所有内容,但有一件事使我发疯。在smart-table中,存在的值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>
我试图在ui-grid中使用类似这样的东西:
function edit(row){
. . .
};
row
,此时是一个对象,即row.entity
。我希望能够使用诸如row.entity.id
领域之一之类的东西,但是它是undefined
。
这篇文章可能有用,https://technpol.wordpress.com/2014/08/23/upgrading-to-ng-grid-3-0-ui-grid/
基本上,您需要为网格设置“外部作用域”,以便可以访问数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句