2010-11-16 11 views

Respuesta

26

crear una interfaz:

interface TableResources extends CellTable.Resources { 
    @Source({CellTable.Style.DEFAULT_CSS, "<your css file>.css"}) 
    TableStyle cellTableStyle(); 
    } 

    interface TableStyle extends CellTable.Style { 
    } 

e inicializar la tabla de celdas:

CellTable.Resources resources = GWT.create(TableResources.class); 
    table = new CellTable<SomeProxy>(rowSize, resources); 

En el paquete cellview.client se pueden encontrar los archivos CSS gwt defecto. Yo los uso como su punto de partida. En el "<your css file>.css" le ponemos cambios de estilo específicos.

También se puede establecer el estilo Colum (en el elemento COL):

table.addColumnStyleName(colNumer, "some_css_style_name"); 

o nombre mejor uso de los recursos CSS en lugar de cadena "some_css_style_name".

+0

¿Cómo utilizo CellTable.Resources y CellTable junto con UiBinder? No puedo hacer que mi mesa se construya con (rowSize, resouces). Lo anoto con UiField y eso no funciona. – rapadura

+2

Use '@UiField (provided = true)' con la CellTable. De esta forma, UiBinder sabe que creas la tabla en código. –

2

Por el gusto de hacerlo, podría agregar algo con lo que me duele la cabeza ... si cambias cellTableStyle(); con algo más se rompe ... sin advertencia o error, el CSS simplemente no aparece como pensé. No sé dónde está documentado esto, pero lo descubrí después de tocar mucho tratando de descubrir por qué algunos CSS eran correctos y otros no ...

1

He utilizado la solución anterior, sin embargo, si tiene otra tabla con estilo predeterminado, termina haciendo con su tabla personalizada. ¿Estás obligado a anular todas tus tablas con un estilo personalizado o hay alguna solución alternativa?

Además, encuentro que los constructores de CellTable son menos que óptimos ... Tengo que especificar pageSize para especificar el recurso de estilo CellTable (pageSize, resources) ... He estado poniendo Integer.MAX_VALUE para pageSize, no estoy seguro si eso debería ser -1 o algo más ya que no hay javadoc en ese valor.

2

Por alguna razón, mi cellTable.addColumnStyleName (colNumber, "cssStyle") simplemente no funcionará. Según FireBug, no agrega el estilo sin importar qué (si el estilo era incorrecto, al menos podría haberlo agregado al atributo de clases del elemento th ...). Tal vez sea porque estoy redibujando las columnas, pero es extraño, sin embargo.

Cuestiones relacionadas