Angular ui.grid获取嵌套行

时间:2015-03-11 14:43:11

标签: javascript angularjs angular-ui-grid

我已经尝试过最后几个小时让ui.grid在一行内显示一个嵌套表。

$scope.gridOptions.columnDefs = [
    {name: 'id'},
    {name: 'categoryName'},
    {name: 'products', cellTemplate: '<div ui-grid="grid.appScope.gridOptions.data"></div>'}
  ];

每行可以没有,有一个或多个产品,但我无法显示我的产品。

我正在通过ajax请求json文件,但出于演示目的,我已将其设为静态。 这是plucker http://plnkr.co/edit/aXgXFZQL4xgVtTNH3y2S?p=preview

先谢谢

2 个答案:

答案 0 :(得分:1)

这里的侦探分叉似乎可以解决:http://plnkr.co/edit/keLHObnxpaFfasyCQRNH?p=preview

需要进行一项更改才能获取正确的数据,而不是来自grid.appscope,而是来自行实体:

{name: 'products', cellTemplate: '<div ui-grid="row.entity[\'products\']"></div>'}

然后是一些让显示正确的东西,最显着的是将嵌套网格数据设置为实际的gridOptions对象。我试着用它来接受一个数组或其他普通对象,但是它似乎并不喜欢它。

答案 1 :(得分:1)

是否值得考虑使用可扩展模块:http://ui-grid.info/docs/#/tutorial/306_expandable_grid

如果产品数量可变,那么您目前正在采用的方法可能会给行高带来困难,而可扩展则允许可变数量的行。根据您的口味,扩展和折叠的能力可能是有益的,并且它提供了放置每个产品的更多信息的空间。