Append custom style to a GWT CellTable (in this case all cells)

后端 未结 2 542
南方客
南方客 2020-12-09 04:06

I have a case where I want to append

white-space: nowrap;

to the style of each cell in my CellTable. Currently it applies to all tables, bu

相关标签:
2条回答
  • 2020-12-09 04:57

    CellTables have their own CssResource. To override this style applied to all cells in a cellTable, create a new css file :

    /* Incremental changes from CellTable.css */ 
    .cellTableCell {
      white-space: nowrap;
    }
    

    Then create your own CellTable.Resources interface :

    public interface TableResources extends CellTable.Resources {
    
        /**
           * The styles applied to the table.
           */
        interface TableStyle extends CellTable.Style {
        }
    
        @Override
        @Source({ CellTable.Style.DEFAULT_CSS, "MyOwnCellTableStyleSheet.css" })
        TableStyle cellTableStyle();
    
    }
    

    Finally, when creating your cellTable, use the constructor that lets you specify which Resources to use

    CellTable<Object> myCellTable = new CellTable<Object>(15, GWT.create(TableResources.class));
    

    For a working example, look at the Expenses sample provided in the GWT SDK.

    0 讨论(0)
  • 2020-12-09 05:01

    Or you could do this the easy way:

    CellTable<YourObj> yourTable = new CellTable<YourObj>();
    yourTable.getElement().getStyle().setWhiteSpace(WhiteSpace.NOWRAP);
    

    No css files, no weird boilerplate code.

    0 讨论(0)
提交回复
热议问题