В DataGrid, в свойствах у “сolumn” отсутствует атрибут “captionAsHtml”. При этом для компоненты Table, у “сolumn” он присутствует.
Мне требуется в DataGrid сделать переносы строк в заголовках столбцов. Подскажите, пожалуйста, как это можно сделать?
Так если в пакете сообщений сделать перенос на другую строку.
caption = Str1/
Str2
Так не работает?
Нет, так не работает. Пробовал вариант с “\” и “\n”.
Для Table работает вариант:
caption = Str1 <br> Str2
Но для этого у сolumn должно быть выставлено свойство captionAsHtml=true
Добрый день!
Можно программно установить html вариант заголовка:
@Autowired
private DataGrid<Order> ordersTable;
@Autowired
private HtmlSanitizer htmlSanitizer;
@Subscribe
public void onInit(InitEvent event) {
DataGrid.HeaderRow headerRow = ordersTable.getDefaultHeaderRow();
if (headerRow != null) {
headerRow.getCell("number").setHtml(htmlSanitizer.sanitize("Line 1<br>Line 2"));
}
}
Возможно придётся ещё стили подправить, чтобы корректно caption корректно отображался.
1 симпатия
Спасибо, сработало! Стили, действительно, пришлось немного подправить (высоту строки заголовка)
Правда есть ещё один момент с DataGrid: у его колонок нельзя указать align, как у колонок в Table.
Можно и это как-то обойти?
Написать свой селектор:
.datagrid-header-center .v-grid-column-default-header-content {
text-align: center;
}
<dataGrid id="dataGrid"
stylename="datagrid-header-center"
Или без datagrid-header-center
, чтобы применить ко всем DataGrid в приложении.