DataGrid цвет строки

Здравствуйте. У меня возникла проблема с раскраской строк в DataGrid. Делаю таким образом:

@Install(to = "dataGrid", subject = "rowStyleProvider")
    protected String dataGridRowStyleProvider(Object entity) {       
        if (entity.getState() != null) {
            switch (entity.getState()) {
                case ERROR:
                    return "dataGridRowStyle-error";
                case ACTIVE:
                    return "dataGridRowStyle-active";
                default:
                    return "dataGridRowStyle-active";
            }
        }
        return null;
    }

Но раскраска не включается. Класс стиля я создал и он подключается, так как если применять свойство font-weight или color, то шрифт меняет и толщину и цвет, а свойство background-color не срабатывает.
Заметил что у элемента

этого грида, если смотреть в html код, формируется свой style со свойствами width и transform. Если width отключить, то конец таблицы где нет колонки все же закрашивается.
image
image
помогите мне с этой проблемой.

Я нашел решение только применять стили для всех ячеек в строке.

@Install(to = "dataGrid", subject = "cellStyleProvider")
    protected String dataGridRowStyleProvider(Object entity, String property) {       
        if (property != null && entity.getState() != null) {
            switch (entity.getState()) {
                case ERROR:
                    return "dataGridRowStyle-error";
                case ACTIVE:
                    return "dataGridRowStyle-active";
                default:
                    return "dataGridRowStyle-active";
            }
        }
        return null;
    }

вот сам стиль

@mixin dataGridRowStyle($styleName: dataGridRowStyle) {
    .#{$styleName}-error{
        background-color: red !important;
    }
     .#{$styleName}-active{
        background-color: blue !important;
    }
}

Возможно есть вариант в стиле описать что для каждого вложенного элемента td в tr применять стиль от tr. Но нельзя ли просто применить стиль заливки к строке?

Пока оставил первый вариант и переписал класс стиля

@mixin dataGridRowStyle($styleName: dataGridRowStyle) {
    .#{$styleName}-error > tr,
    .#{$styleName}-error > td{
        font-weight: bold;
        background-color: red !important;

    }
    .#{$styleName}-active > tr,
    .#{$styleName}-active > td{
         background-color: blue !important;
    }
}

Таким образом при переборе только строк задается стиль всем td и tr.

Добрый день!

Ваш стили рабочие, но можно переписать немного проще:

.v-grid-row.dataGridRowStyle-error {
  .v-grid-cell {
    background-color: red;
  }
}

Глеб

1 симпатия

А еще возник вопрос. Возможно вы мне подскажите. Если я в свой dataGrid генерирую столбец через код. То можно ли какими нибудь стандартными методами использовать данный столбец в моем dataGridRowStyleProvider методе? ведь там я беру сущность, а у нее сгенерированного столбца нет.

Если Вы имеете ввиду получить значение из этого стола и использовать его для определения какой стиль вернуть, то нет. Только высчитывать заново, по тому же принципу, что и генерируемая колонка