ExtJS In grado di gestire griglie / datastor di ~ 1000 elementi?
-
06-07-2019 - |
Domanda
Ho un'applicazione JavaScript che apre una finestra ExtJS, contenente un TabPanel ExtJS, che ha una scheda contenente una griglia dati, che mostra circa 900 - 1000 righe, ciascuna con 7 colonne di campi di testo. La griglia può anche essere filtrata per mostrare circa 100 righe alla volta. Quando si apre la finestra, la navigazione su questa scheda può far girare / bloccare Firefox o Safari per oltre 60 secondi ...
Questo è Ext 2.2
So che è molto difficile dire senza codice ... ma senza vedere il codice, la mia domanda è: ExtJS dovrebbe essere in grado di visualizzare una griglia di così tanti dati? Nel tentativo di ottimizzare dovrei guardare il mio codice o ExtJS stesso è il problema? Qualcuno usa ExtJ per visualizzare griglie così grandi?
Soluzione
ExtJS stesso può gestire così tante righe - abbiamo una griglia che abbiamo limitato a 1000 righe sul server, ma la pagina viene visualizzata senza problemi - sicuramente non impiega 60 secondi.
Alcune altre domande:
- Stai inviando i dati in formato XML o JSON? Stiamo usando JSON caricandolo direttamente in un JsonStore.
- Stai elaborando dei dati prima che vengano resi?
- Quale specifica classe di griglia stai usando?
Altri suggerimenti
Non lo sto facendo in Window / TabPanel (la griglia è mostrata direttamente nel corpo della pagina principale) ma dubito che sia importante. Sì, Ext 2.2 dovrebbe e gestisce 1000 file ragionevolmente bene (c'è un po 'di ritardo , ma non è certamente di 60 secondi).
Aspetti da considerare:
- Come stai leggendo i dati? Ci vogliono 60 secondi per eseguire il rendering dei dati o è una parte significativa del caricamento dei dati?
- Puoi impaginare, diciamo, con incrementi di 100? O, in caso contrario, carico pigro?
- C'è qualcos'altro che sta accadendo in questa pagina forse che provoca questo ritardo?
Non sono sicuro perché non l'ho usato da solo, ma mi sono imbattuto in questo quando ho guardato i componenti della griglia da solo.
Puoi anche limitare le pagine al rendering di meno righe? o è necessario averne 1000 per pagina (abbastanza per gli utenti). Potresti trovare ad esempio 250 più utilizzabili e più efficaci allo stesso tempo?