GWT: как изменить цвет строки в GWT Celltable - PullRequest
6 голосов
/ 26 января 2012

У меня есть таблица ячеек в GWT, я могу изменить цвет определенного столбца этим

            celltable.addColumnStyleName(4, "bluetext");

, но как я могу изменить, например, цвет строки № 3

Спасибо

Ответы [ 3 ]

16 голосов
/ 26 января 2012

Вы должны предоставить RowStyles объект, который возвращает имена классов CSS для каждой строки. Таким образом, чтобы установить определенный цвет для строки, вам нужно определить класс css с этим цветом, а затем заставить ваш RowStyles объект возвращать этот класс для соответствующих строк.

Я думаю, что вы установили это с cellTable.setRowStyles или чем-то подобным.

cellTable.setRowStyles(new RowStyles<T>() {
    @Override
    public String getStyleNames(T rowObject, int rowIndex) {
        if (rowIndex == 3) {
            return "bluetext";
        } else {
            return "normaltext";
        } 
    });
2 голосов
/ 16 июля 2012

Если вам нужно обновить цвет строки на основе значения, измененного в одной из ячеек, вы можете добавить следующий код в fieldUpdater этой ячейки:

@Override
public void update(int index, Object object, String value) {
    if (someConditionIsMet) {
        myTable.getRowElement(index).addClassName("redBackground");
    }
}

В вашем CSS-файле добавьте этот стиль:

.redBackground {
    background-color: red !important;
}
1 голос
/ 29 октября 2013

Чтобы ответить на последний комментарий, что стиль находится в элементе строки, но не отображается: Использование setRowStyles (новый RowStyles () ... Единственный способ, которым я получил стили, - использовать грубую силу. Мне пришлось удалить строку из моего хранилища списков, добавить ее обратно в тот же индекс и затем обновить RowModel. За что это стоит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...