Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

orderBy multiple fields in Angular

How to sort by using multiple fields at same time in angular? fist by group and then by sub-group for Example

$scope.divisions = [{'group':1,'sub':1}, {'group':2,'sub':10}, {'group':1,'sub':2},{'group':1,'sub':20},{'group':2,'sub':1},     {'group':2,'sub':11}]; 

I wanted to display this as

group : Sub-group

1 - 1

1 - 2

1 - 20

2 - 1

2 - 10

2 - 11

<select ng-model="divs" ng-options="(d.group+' - '+d.sub) for d in divisions | orderBy:'group' | orderBy:'sub'" /> 
like image 344
gmeka Avatar asked Jun 11 '13 06:06

gmeka


People also ask

How does order by work with multiple columns?

Syntax: SELECT * FROM table_name ORDER BY column_name; For Multiple column order, add the name of the column by which you'd like to sort records first. The column that is entered at first place will get sorted first and likewise.

What is orderBy in angular?

An orderBy Filter in AngularJS is used to sort the given array to the specific order. The default order of sorting the string is in alphabetical order whereas the numbers are numerically sorted. By default, all the items are sorted in ascending order, if the ordering sequence is not specified.

How to sort a column in angularjs?

In angularjs we can implement sorting for table columns by using ng-table module. Generally in angularjs if we want to implement sorting for table columns we need to write a lot of code but if we use ng-table module in angularjs applications it's very easy to implement sorting for table columns with few lines of code.


2 Answers

Please see this:

http://jsfiddle.net/JSWorld/Hp4W7/32/

<div ng-repeat="division in divisions | orderBy:['group','sub']">{{division.group}}-{{division.sub}}</div> 
like image 191
Chubby Boy Avatar answered Sep 22 '22 03:09

Chubby Boy


If you wants to sort on mulitple fields inside controller use this

$filter('orderBy')($scope.property_list, ['firstProp', 'secondProp']); 

See also https://docs.angularjs.org/api/ng/filter/orderBy

like image 37
Muhammad Raza Dar Avatar answered Sep 22 '22 03:09

Muhammad Raza Dar