Проблема форматирования столбца сетки vaadin 8 типа объекта

#object #formatting #rendering #vaadin-grid

Вопрос:

Я пытаюсь отформатировать столбец типа объекта со следующим кодом. Попробовал то, что предлагается, чтобы получить столбец перед настройкой средства визуализации, но я получил null от getColumn() . Может ли кто-нибудь помочь или указать мне на рабочий пример форматирования столбцов типа объекта?

 Gridlt;LinkedHashMaplt;String, Objectgt;gt; grid = new Gridlt;gt;(); ..   grid.addColumn(h -gt; h.get(entry.getKey()))  .setCaption(captn)  .setStyleGenerator(item -gt; "v-align-right"); ..  if (NumberUtils.isNumber(entry.getValue())) {  NumberRenderer rdr = new NumberRenderer("###.###,###,###,##");  Column lt;LinkedHashMaplt;String, Objectgt;,Doublegt; col =   (Column lt;LinkedHashMaplt;String, Objectgt;,Doublegt;)  grid.getColumn(entry.getKey());  col.setRenderer(rdr); }  

Комментарии:

1. grid.getColumn(entry.getKey()); возвращает null , потому что вы используете ключ, который не был установлен в столбце при его добавлении.

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

3. спасибо за ответ, моя сетка содержит сочетание строковых и числовых столбцов, которые создаются во время выполнения, я пытаюсь использовать пользовательский рендерер для каждого числового столбца.

4. Столбец создается с тем же ключом. без кодов setrenderer сетка отображается правильно, но без форматирования. поэтому я знаю, что ключ, который я передал, является правильным ключом для вновь созданного col

5. после дальнейшего тестирования с использованием ссылочной переменной из addcolumn () я обнаружил, что созданный ею тип col-это столбец lt;LinkedHashMaplt;Строка, объектgt;,Объектlt;Строка, Объектgt;gt;, в то время как NumberRenderer ожидает столбец lt;Строка, объектgt;gt;lt;LinkedHashMaplt;Строка,объектgt;, Doublelt;Строка, объектgt;gt; .в любом случае, нужно ли выполнять типизацию или преобразование?