Добавить пользовательский стиль к GWT CellTable (в данном случае все ячейки) - PullRequest
17 голосов
/ 17 июня 2011

У меня есть случай, когда я хочу добавить

white-space: nowrap;

к стилю каждой ячейки в моей CellTable.В настоящее время он применяется ко всем таблицам, но было бы неплохо знать, как нужно применять его для определенной CellTable, так и для всех CellTables.

Ответы [ 2 ]

32 голосов
/ 17 июня 2011

CellTables имеют свои CssResource . Чтобы переопределить этот стиль, применяемый ко всем ячейкам в cellTable, создайте новый файл CSS:

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

Затем создайте собственный интерфейс CellTable.Resources:

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();

}

Наконец, при создании вашего cellTable используйте конструктор , который позволяет вам указать, какие ресурсы использовать

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

Рабочий пример приведен в примере расходов, предоставленном в GWT SDK.

0 голосов
/ 06 декабря 2016

Или вы можете сделать это простым способом:

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

Нет CSS-файлов, нет странного шаблонного кода.

...