Как оформить заголовки CellTables gwt 2.1?

Я ничего не вижу в документации, кроме ссылки на то, чтобы включить некоторый «CssResource» и получить его с помощью ClientBundle, но как мне точно переопределить tbody и th CellTable?

Это возможно?


person rapadura    schedule 16.11.2010    source источник


Ответы (4)


Создайте интерфейс:

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

  interface TableStyle extends CellTable.Style {
  }

и инициализируем таблицу ячеек:

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

В пакете cellview.client вы можете найти файлы gwt css по умолчанию. Используйте их в качестве отправной точки. В "<your css file>.css" внесите определенные изменения стиля.

Вы также можете установить стиль столбца (для элемента col):

table.addColumnStyleName(colNumer, "some_css_style_name");

или лучше использовать имя ресурса css вместо строки «some_css_style_name».

person Hilbrand Bouwkamp    schedule 16.11.2010
comment
Как использовать CellTable.Resources и CellTable вместе с UiBinder? Я не могу построить свою таблицу с помощью (rowSize, resouces). Я аннотирую ее с помощью UiField, и это не работает. - person rapadura; 17.11.2010
comment
Используйте @UiField(provided = true) с CellTable. Таким образом, UiBinder узнает, что вы создаете таблицу в коде. - person Hilbrand Bouwkamp; 24.11.2010

Просто для удовольствия я мог бы добавить что-то, с чем у меня только что была головная боль... если вы измените cellTableStyle(); с чем-то еще он ломается... никаких предупреждений или ошибок, CSS просто не появляется, как я думал. Не знаю, где это задокументировано, но я обнаружил это после долгих попыток выяснить, почему некоторые CSS были правильными, а некоторые нет.

person terje    schedule 02.05.2011

По какой-то причине мой cellTable.addColumnStyleName(colNumber, "cssStyle") просто не будет работать. Согласно FireBug, он не добавляет стиль, несмотря ни на что (если бы стиль был неправильным, он, по крайней мере, мог бы добавить его в атрибут классов th-элемента...). Может быть, это потому, что я перерисовываю столбцы, но все же это странно.

person Igor    schedule 03.11.2011

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

Кроме того, я нахожу конструкторы CellTable менее чем оптимальными... Мне нужно указать pageSize, чтобы указать ресурс стиля CellTable(pageSize, resources)... Я ставил Integer.MAX_VALUE для pageSize, не уверен, что это должно быть - 1 или что-то еще, так как для этого значения нет javadoc.

person Joel    schedule 20.07.2011