Domanda

Ho ottenuto un tavolo che non ha l'impaginazione, quindi tutti i record devono essere visualizzati in un unico grande flusso con barra di scorrimento. Utilizzando tavolo Flex per lo stesso.

Firefox non ha grossi problemi in caricamento della pagina, carica 7000 record in circa 90 secondi. Ma IE semplicemente si blocca con 800 record!

Il nostro architetto tecnica consiglia di utilizzare widget di celltable con innerHTML invece di widget a pieno titolo.

È stato utile?

Soluzione

Grid e FlexTable di GWT sono derivati ??da un HtmlTable standard. In pratica, ogni volta che si inserisce una riga della tabella, IE cerca di ridisporre l'intera tabella in modo che il più lungo è il tavolo, più lungo è il riflusso prende. Le prestazioni sono quindi terribile in grandi griglie.

Si potrebbe essere meglio per gli elementi div uso e styling per assomigliare ad un tavolo, riga e cellule.

<div class="ftable">
  <div class="ftbody">
    <div class="frow">
      <div class="fcell cell0">Hello</div>
      <div class="fcell cell1">World</div>
    </div>
  </div>
</div>

Inserimento di un nuovo cellulare non causa gli altri div cellulari per ridisporre quindi è più veloce.

Le cellule sono div in linea in modo che galleggiano a sinistra. Righe e la tabella / div sezioni sono blocchi regolari. Sei tu che controlli di larghezza delle celle, in particolare, le colonne attraverso styling aggiuntivi.

per es.

.ftbody {overflow-y:scroll; overflow-x:hidden; height: 120px; }
.fcell { display: inline; }
.cell0 { width: 80px; }
.cell1 { width: 120px; }

In questo modo è più facile fare le cose come intestazione fix / contenuto scorrevole troppo dal momento che è possibile specificare il corpo ad essere una certa altezza con barre di scorrimento overflow. Sito quali questo potrebbe dare idee del layout / stile che si potrebbe usare.

Altre ottimizzazioni sarebbe non utilizzare i widget per rappresentare le celle, se non ne hanno bisogno. I widget sono più utili se è necessario aggiungere gestori di eventi, ecc e se non lo fai allora frammenti appena Iniettare di testo o html dalle proprietà innerHtml / Text. Si alleggerisce l'occupazione di memoria e velocità fino gestione degli eventi.

Altri suggerimenti

Se non si dispone di tutti i requisiti di ordinamento, mi consiglia di utilizzare la nuova GWT 2.1.0 CellTable, che dovrebbe essere abbastanza veloce:

http://www.jarvana.com/jarvana/view/com/google/gwt/gwt-dev/2.1.0/gwt -dev-2.1.0-javadoc.jar! /com/google/gwt/user/cellview/client/CellTable.html

(Si potrebbe in realtà il lavoro con l'ordinamento, ho appena Havn't capito come ancora)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top