Leeuwtje
Leeuwtje

Reputation: 2271

how to display the number of filtered rows outside table definition?

I have implemented a filter for my ngtable. Trying to display the number of filtered items like this:

How to display nr of filtered rows here? Outside the table definition?

{{filtered.length}} result(s) matching the filter

<table ng-table="tableParams" class="table">
                    <tr ng-repeat="account in filtered =($data  | filter:search.accountName | filter:search.id)">
                      <td>{{filtered.length}}</td>
                      <td data-title="'id'">
                        {{account.account.accountId.id}}
                      </td>
                      <td data-title="'name'">
                        {{account.account.accountName}}
                      </td>

                    </tr>
</table>

plunkr: http://plnkr.co/edit/Sx4YAO?p=preview

Upvotes: 1

Views: 2145

Answers (3)

Dario Colombo
Dario Colombo

Reputation: 1

Use built in function:

total() {{ tableParams.total() }}

Upvotes: -1

cverb
cverb

Reputation: 643

Just add $parent before your filtered in your ng-repeat and you should be fine. Ng-repeat has an isolated scope.

<tr ng-repeat="account in $parent.filtered =($data | filter:search.accountName | filter:search.id)">

Upvotes: 2

shaunhusain
shaunhusain

Reputation: 19748

If you create the array before you use it within the child scopes then they'll reference and use the one from the parent scope

JS

$scope.model = {filtered:[]}

HTML

How to display nr of filtered? {{model.filtered.length}} result(s) matching the filter
<tr ng-repeat="account in model.filtered =($data  | filter:search.accountName | filter:search.id)">

http://plnkr.co/edit/mcuN34?p=preview

Upvotes: 0

Related Questions