2016-11-08 3 views
0

У меня есть этот код в файле .scss:Vaadin цвет заголовка таблицы

.example-table .v-table-header-cell:nth-child(2), 
    .example-table .v-table-header-cell-desc:nth-child(2) { 
    background : red; 
} 

и я использую его в Java:

table.setStyleName("example-table"); 

я получаю второй заголовок таблицы в красный цвет.

Мой вопрос: Как передать аргумент (в данном случае - «2») из файла java в scss, этот заголовок второго столбца таблицы будет красным?

+0

Вы можете попробовать использовать jquery, чтобы обновить стиль от ячейки таблицы, используемой в качестве заголовка для вашего конкретного столбца. –

ответ

0

Я не знаю, если вы можете передать аргумент из Java в CSS, но вы можете добиться того, что вы хотите, установив CellStyleGenerator на вашем столе

table.setCellStyleGenerator(new Table.CellStyleGenerator() { 
    @Override 
    public String getStyle(Table source, Object itemId, Object propertyId) { 
     int row = ((Integer)itemId).intValue(); 
     if(row == 2) 
      return "red-background-style"; // will set this style to every cell in the row 

     return null; 
    } 
}); 

Смотрите этот пример для более подробной информации: https://vaadin.com/docs/-/part/framework/components/components-table.html#components.table.css.cellstylegenerator

Смежные вопросы