我有一些简单的JSON字符串数组,我想在我的ng-grid上显示。例如,如果我有一个看起来像这样的数组:
arrayOfStrings: ["test", "blah", "foo"];
我想在ng-grid中的列中列出此数组中的所有元素,但我无法这样做。以下是我尝试渲染数组中元素的方法:
{field: 'arrayOfStrings', displayName: 'Array', width:'20%',
cellTemplate: '<div class="ngCellText" ng-class="col.colIndex()"><span ng-cell-text>{{row.getProperty(col.field)}} </span></div>'},
然而,没有任何表现。如果有人知道如何将数组中的元素显示到列中,那将不胜感激。谢谢!
答案 0 :(得分:3)
我认为你在询问如何在同一列中显示数组中的所有项目。如果情况不是这样,请告诉我,我会编辑我的答案。如果您的字段包含字符串数组,则ng-grid默认将其显示为整个数组的字符串表示形式:
["test", "blah", "foo"]
您可以在列
上添加cellFilter{field: 'arr', displayName: 'arrayOfStrings', cellFilter: 'stringArrayFilter'}
控制数组数据的表示方式:
filter('stringArrayFilter', function() {
return function(myArray) {
return myArray.join(', ');
};
})
查看示例Plunker here。
答案 1 :(得分:-1)
确保您的html页面具有属性集
<div class="gridStyle" ng-grid="gridOptions"></div>
然后在你的控制器中:
$scope.arrayOfStrings = ["test", "blah", "foo"];
$scope.gridOptions = {
data:'arrayOfStrings'
};
让这部分工作,然后你可以开始添加其他选项