Как скрыть кнопку в сгенерированном столбце в сетке?

У меня есть сетка с кнопкой в ​​сгенерированном столбце. Смотрите скриншот:

В зависимости от логического значения в столбце "Имеет Stacktrace" я хотел бы показать или скрыть кнопку "просмотр" в столбце "Stacktrace".

Должен ли я расширить com.vaadin.ui.renderers.ButtonRenderer от Vaadin или есть более простой вариант?

1 ответ

Решение

Я сделал следующий обходной путь, но я все еще хотел бы знать, как сделать кнопку:

// create container
IndexedContainer container = new IndexedContainer(...);
container.addContainerProperty("stacktrace", String.class, null);

// set data
importSession.getRows().forEach(importSessionRow -> {
    Item item = gpcontainer.getItem(importSessionRow.getId());
    item.getItemProperty("stacktrace").setValue(importSessionRow.isHasStacktrace() ? "/admin/instrument/import/row/" + importSessionRow.getId() + "/stacktrace.html" : null);
});

// set renderer
grid.getColumn("stacktrace").setRenderer(new HtmlRenderer(),
            new Converter<String, String>() {
                @Override
                public String convertToModel(String value,
                                             Class<? extends String> targetType, Locale locale)
                        throws Converter.ConversionException {
                    return "not implemented";
                }

                @Override
                public String convertToPresentation(String value,
                                                    Class<? extends String> targetType, Locale locale)
                        throws Converter.ConversionException {
                    return value != null ? "<a href='" + value + "' target='_blank'>view</a>" : null;
                }

                @Override
                public Class<String> getModelType() {
                    return String.class;
                }

                @Override
                public Class<String> getPresentationType() {
                    return String.class;
                }
            });
Другие вопросы по тегам