使用ng-grid在字符串数组中显示元素?

时间:2014-03-10 22:31:51

标签: javascript arrays angularjs ng-grid

我有一些简单的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>'},

然而,没有任何表现。如果有人知道如何将数组中的元素显示到列中,那将不胜感激。谢谢!

2 个答案:

答案 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'   
};

让这部分工作,然后你可以开始添加其他选项