Подтвердить что ты не робот

Добавить пользовательский стиль в GWT CellTable (в данном случае все ячейки)

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

white-space: nowrap;

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

4b9b3361

Ответ 1

Сотовые таблицы имеют собственный 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));

В рабочем примере просмотрите образец затрат, предоставленный в SDK GWT.

Ответ 2

Или вы можете сделать это легко:

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

Нет css файлов, нет странного шаблона.