GWT Datagrid non mostra i dati, ma li contiene


Answers

Ecco i miei 2 centesimi.

Quando si tratta di eseguire il rendering di un DataGrid al di fuori di un "LayoutPanel o pannello correttamente formato che implementa la struttura ad albero ProvidesResize", ho scoperto che ho sempre bisogno di tenere presente quanto segue:

  1. Come spiega questa domanda , l'altezza della proprietà DataGrid ha bisogno di un valore esplicito, ad esempio "123px". Senza questo, DataGrid non mostra le sue righe di dati (anche se sono nel DOM).

  2. Se si inserisce un DataGrid in una scheda DecoratedTabPanel non focalizzata , DataGrid.redraw () deve essere richiamato quando tale scheda diventa attiva. Di nuovo, senza questo, DataGrid non mostra le sue righe di dati (anche se sono nel DOM).

Spero che aiuti.

Question

Sto cercando di convertire una cellTable in un datagrid , perché voglio aggiungere un gestore di ricerca in un secondo momento e quindi ho bisogno di intestazioni di colonne fisse. Al momento estendo la classe celltable / datagrid e inserisco il widget in un semplice simplelayoutpanel e lo aggiungo al mio tabpanel .

Se uso il celltable , tutto funziona celltable e i dati vengono visualizzati. Se cambio il tipo di classe in datagrid , i dati vengono visualizzati a volte su (i nomi delle colonne sono sempre lì). Per aggiungere qualcosa alla tabella ho usato setRowData o un dataProvider . Se imposto breakpoint per ritardare il caricamento del contenuto della tabella, la tabella a volte contiene dati. Se in seguito chiamo il metodo di ridisegno per la tabella, la tabella mostra le informazioni corrette. Ma la tabella dovrebbe caricare automaticamente il contenuto. In altre "posizioni" del mio progetto ho usato anche il datagrid e ha funzionato in Dialogboxes .

Penso che ci sia un bug nel disegno degli oggetti, perché se chiamo .getRowCount sulla tabella o deprecato .getDisplayedItems , mi restituisce il numero corretto di elementi che dovrebbero essere nella tabella. Inoltre, se aggiungo un modello di selezione alla tabella e seleziono un elemento, l'elemento contiene dati validi.