2016-05-25 25 views
7

Sto utilizzando angular table-sort e angular drag-drop nel mio progetto. Quando sto trascinando una riga e provando a rilasciarla su un'altra riga, la tabella ordina ordinatamente le righe alla loro posizione precedente.Conflitto riga tabella ordinamento e trascinamento della selezione ortogonale

Se rimuovo la direttiva di ordinamento tabella ts-repeat, quindi il trascinamento funziona perfettamente. Ho anche bisogno di ordinare l'ordinamento predefinito delle colonne della tabella "Età" crescente. Ho fatto un esempio sul plunker per una migliore comprensione. https://plnkr.co/edit/pHlTufpayFAB4he8bN6y

Quindi, come evitare l'ordinamento delle tabelle durante il trascinamento e il rilascio di una riga?

Qualcuno può aiutarmi a risolvere questo problema? Lo apprezzerei davvero. Grazie in anticipo.

risposta

6

Penso che dovresti semplicemente liberarti di ts-repeat e solo ordinare i dati inizialmente (nel tuo servizio/controller). Non è un bug, è una caratteristica. Immagina di rimuovere e quindi aggiungere nuovamente un elemento a una tabella, che è ordinata. Vuoi che venga ordinato, giusto?

+0

Ma ho bisogno anche di 'ts-repeat'. Perché è un requisito del cliente ordinare i dati inizialmente, quindi ordinare con colonne diverse se lo desiderano. Quindi, per questo, usare 'ts-repeat' è obbligatorio per me. E quando aggiungi una nuova riga, è anche stata ordinata nel mio progetto (non inclusa per semplicità). Quindi, devo usare sia 'ts-repeat' che' drag-and-drop' nella stessa tabella. –

+1

Ora ho capito, vuoi essere in grado di ordinare, ma anche modificare manualmente l'ordine. Penso che potresti provare http://lorenzofox3.github.io/smart-table-website/, è un po 'più ricco di funzionalità. Immagino che tu possa disattivare l'ordinamento se sono state apportate modifiche manuali. – fodma1

1

È possibile provare utilizzando Angular ui-sortable anziché il trascinamento angolare. Penso che funzionerà per te.