Nel template html seguente, viene creata una tabella tramite AngularJs in cui le colonne sono riordinabli con un click sull'header della colonna.
Questo viene fatto tramite una semplice condizione
ng-click = "colOrd= colOrd=='fieldname' && '-fieldame' || 'fieldname'"
che assegna al parametro "colOrd" utilizzato per il filtro "orderBy", il nome del campo preceduto dal segno meno (ordinamento decrescente) se gia è attivo l'ordinamento crescente su questa colonna.
<span>ordinamento attuale: {{colOrd}}</span>
<table border=1 cellpadding=5>
<tr>
<td ng-click="colOrd= colOrd=='id' && '-id' || 'id'">Id:</td>
<td ng-click="colOrd= colOrd=='nome' && '-nome' || 'nome'">Nome:</td>
<td ng-click="colOrd= colOrd=='cognome' && '-cognome' || 'cognome'">Cognome:</td>
<td ng-click="colOrd= colOrd=='cell' && '-cell' || 'cell' ">Cellulare:</td>
</tr>
<tr ng-repeat="item in mylist | orderBy:colOrd">
<td>{{item.id}}</td>
<td>{{item.nome}}</td>
<td>{{item.cognome}}</td>
<td>{{item.cell}}</td>
</tr>
</table>