Как стилизовать заголовки gwt 2.1 CellTables?

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

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

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".

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

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

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

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

Другие вопросы по тегам