Domanda

Qualcuno ha mai visto come fogbugz ordina i propri tavoli? Quando fai clic per ordinare la colonna, in realtà suddividono la tabella in molte piccole tabelle che hanno ciascuna categoria di informazioni.

Ti chiedi se qualcuno sa come fanno?

Sto cercando di implementare questa funzione.

Se dai un'occhiata alla pagina dei casi e ordina, puoi vedere cosa intendo.

Qualsiasi aiuto sarebbe FANTASTICO!

Non l'ho ancora capito.

EDIT: @Peter, non voglio postback e ricreare una tabella ogni volta che si fa clic sul titolo dell'intestazione per un ordinamento. Voglio anche sapere se la loro è una soluzione generica per questo. Se clicco sull'intestazione per ordinare, tramite javascript, separa il " uno " tabella in molti e voglio sapere se la loro è una soluzione generica per questo perché è solo un modo MOLTO migliore di visualizzare una tabella ordinata.

EDIT: Ho bisogno di un selezionatore javascript, ma se guardi in basso l'implementazione di fogbugz, produce un risultato diverso ...

È stato utile?

Soluzione

Sì, Rich l'ha capito (ho codificato questa funzione in FogBugz molto tempo fa).

Se devi farlo sul client non hai altra scelta che ordinare i dati, scorrere attraverso di esso generando riga di tabella dopo riga di tabella e ogni volta che colpisci un nuovo valore di ordinamento crei una nuova testa con l'appropriato informazioni.

Ad essere sincero, sarebbe una bella modifica a questo plugin jQuery: http://tablesorter.com/docs/ e sarai in grado di sfruttare un lotto del loro lavoro. Se hai intenzione di mettere il tempo e creare una soluzione generale, potrebbe anche renderlo accessibile alla comunità.

Altri suggerimenti

Senza sapere esattamente come Fog Creek riesce a farlo, il modo in cui lo farei è quello di produrre un'intestazione di tabella, quindi scorrere l'elenco, generare un piè di pagina e una nuova intestazione ogni volta che il valore del gruppo cambia.

Non sono sicuro di quale risposta ti aspetti. La query SQL per questo userebbe semplicemente l'ordinamento sulla colonna selezionata e l'interfaccia utente avvierebbe una nuova tabella ogni volta che questo valore cambia.

Ecco lo screenshot di FogBugz con questo ordinamento, dopo aver fatto clic sulla colonna Priorità.

http://img297.imageshack.us/img297/6974/76755363ee3.png

Ovviamente, iniziare una nuova tabella non ha senso per ogni colonna (titolo, caso #).


Modifica: se ho capito bene, stai cercando un modo per farlo in un browser senza caricare una nuova pagina. In questo caso, suggerirei almeno un supporto lato server, che restituirebbe i tuoi dati nell'ordine corretto e adeguatamente strutturato per i sottotitoli (in xml / json / qualunque cosa tu usi). Il tuo javascript utilizzerà questi dati per ricreare le tabelle. Sono sicuro che altri con più esperienza web-ui forniranno risposte migliori.

Ho usato Script di tabelle ordinabili di Kryogenix con alcuni buoni risultati .

Non so se sia pertinente, ma archiviamo i risultati di una query in una tabella temporanea in SQL, quindi facciamo riferimento a current-row-less-one per vedere se una categoria è cambiata e lo indichiamo in il resulset.

In alcuni casi " indichiamo " questo con una colonna contenente

<tr><td colspan=999>Category Heading</td></tr>

in modo che la pagina web possa semplicemente " iniettare " che nel tavolo sta costruendo.

SELECT Col1, Col2, ...,
       [CATEGORY] = CASE WHEN T1.CategoryCol <> COALESCE(T2.CategoryCol, '')
           THEN '<tr><td colspan=999>' + T1.CategoryCol + '</td></tr>'
           ELSE ''
           END
FROM #MyTempTable AS T1
     LEFT OUTER JOIN #MyTempTable AS T2
         ON T2.ID = T1.ID - 1
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top