2014-11-06 3 views
8

Sto usando groupBy in ngTable, ma ora ho bisogno di un ulteriore livello di raggruppamento nella tabella:ngTable multi-livello o nidificato raggruppamento

$scope.tableParams = new ngTableParams({ 
    count: 100, 
    sorting: { 
     PremiumElementGroup: 'desc', 
     PremiumElement: 'desc', 
     LegalEntity: 'asc', 
     SettlementCurrency: 'asc' 
    } 
}, { 
    counts: [], 
    groupBy: 'PremiumElementGroup' <--- only allows one level of grouping... 
    , getData: function ($defer, params) { 
     var orderedData = $filter('orderBy')($scope.section.PremiumCessionOverrides, params.orderBy()); 
     $defer.resolve(orderedData); 
    } 
}); 

C'è qualcosa che posso fare per ottenere ciò che voglio? O un altro strumento di griglia che potrei usare?

+0

potrebbe utilizzare la funzione di richiamata nella proprietà 'groupBy'? –

+0

@KostiaMololkin Ho dato un'occhiata all'esempio di callback, sembra che stia impostando groupby sul valore restituito di qualche funzione. In che modo questo mi aiuterebbe ad ottenere un raggruppamento a più livelli? –

risposta

5

Finora, non sembra esserci la possibilità per il raggruppamento di nidificazione su più livelli utilizzando ngTable.

Tuttavia, è possibile utilizzare UI Grid che, a seconda della documentazione, consente di eseguire il nesting su più livelli.

A un esempio, la loro documentazione dice:

SubGrid nesting can be done upto multiple levels..

Side-note: si richiede il raggruppamento a più livelli o il raggruppamento nidificato in cui il titolo della domanda è un po 'fuorviante.

+0

Grazie per questo - hai ragione, ti sto chiedendo rigorosamente il raggruppamento a più livelli/nidificato. Ho cambiato titolo per riflettere. –

+0

@TomRedfern hai implementato con successo la griglia UI espandibile con più di 2 o 3 livelli. Se sì, per favore condividi il plunker o il violino o una spiegazione dettagliata sarebbe davvero utile! – ShaMoh

+0

@ShaMoh - mi spiace dirti che non ho avuto successo e ho dovuto creare la mia soluzione per questo alla fine, semplicemente usando l'annidamento a più livelli di ng-repeat. –