如何使用分组显示表

时间:2014-10-17 21:02:14

标签: angularjs

我需要创建一个可以按对象属性分组的表。我无法使用ngTable,因此我希望有一种方法可以使用过滤器或嵌套的ng-repeats。

plunkr

"CompanyId": "40",
"CompanyName": "XEREX",
    "CompanyEmployees": {
        "_id": "544",
         "CompanyEmployeeFirstName": "Taylor",
         "CompanyEmployeeLastName": "Bartlett",
         "CompanyEmployeeState": "Vermont"

该表需要显示员工姓名列表,并且需要按州进行分组。

1 个答案:

答案 0 :(得分:4)

除了编写自己的过滤器之外,还有几种方法可以解决这个问题。首先,您可以使用像lodash或下划线这样的库(此处未演示)来在您的控制器中执行该组,或者包含这个漂亮的过滤器库,以便不重新发明轮子并编写您自己的过滤器。

https://github.com/a8m/angular-filter#groupby

Plunker:http://plnkr.co/edit/okEpdguH1FW2IKQX24TS?p=preview

以下是对状态进行分组的代码:

<table ng-repeat="state in customers |  groupBy:'CompanyEmployees.CompanyEmployeeState'">
  <tr>
    <td>{{state[0].CompanyEmployees.CompanyEmployeeState}}</td>
  </tr>
  <tr ng-repeat="customer in state">
    <td>{{customer.CompanyEmployees.CompanyEmployeeFirstName}}</td>
  </tr>
</table>