2010-08-04 10 views

risposta

25

Se si tratta di un'opzione è possibile utilizzare FlexTable al posto di griglia:

FlexTable flexTb= new FlexTable(); 
flexTb.getFlexCellFormatter().setColSpan(0, 1, 2); 
flexTb.setWidget(0, 1, new Label("Hello")); 
+6

Cordiali saluti, 'FlexTable' è più lento di' Grid' (http://code.google.com/p/google-web-toolkit-incubator/wiki/BulkTableRenderers), quindi a meno che abbiate per aggiungere dinamicamente le celle, dovresti usare 'Grid' per ottenere le massime prestazioni :) –

+0

@Cataclysm" E la domanda non ha detto che ha delle opzioni "Come Manager tecnico dovresti davvero cambiare il tuo modo di pensare. Inoltre, sentiti libero di offrire "informazioni utili". – Jla

+0

scusa, domanda 'Come impostare i valori di rowspan e colspan su gwt Grid cell contenente un widget?'. Presumo che questa risposta non fosse per questo. FlexTable, c'è un metodo built-in per impostare colspan o rowspan ma ho anche avuto problemi a impostare span nel mio GWT-DataGrid. Mi consiglieresti di usare FlexTable? No, non è possibile. – Cataclysm

8

C'è un non-so-simple-soluzione a questo. Funziona manipolando direttamente il DOM.

Grid g = new Grid(10, 5); 

Element e = g.getCellFormatter().getElement(0, 0); 
e.setAttribute("colspan", "5"); 

ArrayList<Element> toRemove = new ArrayList<Element>(); 
for (int x=1; x<5; x++) 
    toRemove.add(g.getCellFormatter().getElement(0, x)); 
for (Element f : toRemove) 
    f.removeFromParent(); 

fa seguenti:

  • impostare l'attributo "colspan" del primo TD a "5"
  • rimuovere altri TDs nella stessa riga

Si prega di notare, che ho usato a ciclo chiuso. L'ho provato con un loop singolo ma alcuni degli elementi erano NULL, quindi l'ho provato in questo modo e ha funzionato.

Thomas

+0

Questo non funziona in IE 7,8 o 9. Attualmente sto cercando la stessa soluzione per CellTable – drye

+1

Sono passato dal provare a manipolare il dom per css-formating. Ci sono cose belle che possono essere fatte come .my-table tr: first-child> td: first-child + td {border: none} e qualcosa ... Formerebbe la seconda cella nella prima riga non avere confini Così, ho formattato la mia tabella per apparire come se colspan fosse 5, per esempio. –

+0

Il take away è grids succhiare ... – BuvinJ

Problemi correlati