angularjs NgTable ng-repeat groupby 与 show/hide

angularjs NgTable ng-repeat groupby with show/hide

我无法使 'groupBy' 工作。 我有一个从 $http 工厂返回的数据集。数据被传递给 $scope 'territoryReq' 变量。 数据集如下所示:

[{"Country":"Netherlands","Name":"firstName lastName","Phone":"+12345678","Mobile":"+987654321"},{"Country":"Netherlands","Name":"firstName2 lastName2","Phone":"+12345678","Mobile":"+987654321"}]

我有一个简单的 'dump' 数据,使用:

<div>
    <table ng-table="" class="table table-condensed table-bordered table-hover">
        <tr class="ng-table-group" ng-repeat="entries in territoryReq">
            <td>
                {{entries.Country}}
            </td>
            <td>
                {{entries.Name}}
            </td>
            <td>
                {{entries.Phone}}
            </td>
            <td>
                {{entries.Mobile}}
            </td>
        </tr>
    </table>
</div>

一切正常。没问题。 现在我想按国家/地区对结果进行分组。最好能够单击国家,然后取消隐藏具有正确国家的行。 我在看 example of ng-table with grouping

的例子

但我无法让它为我的数据工作.. 在示例中,他们使用例如group in $groups 但我不知道 $groups 是从哪里来的? 无论如何,我希望有人能在正确的方向上帮助我...

谢谢!

对于直接分组,groupBy 将 object 属性 作为参数。它应该像

一样简单
<tr class="ng-table-group" ng-repeat="entries in territoryReq | groupBy: 'Country'">

但这听起来更像是您想根据国家/地区等条件过滤列表。

我对此进行了模拟以展示我认为您正在寻找的东西。请查看是否有帮助...它通过 table headers 进行排序并从动态的国家/地区列表中进行过滤。

https://stackblitz.com/edit/angularjs-yvxdrd