Vaadin7 如何在网格中的生成列中隐藏按钮?

Vaadin7 如何在网格中的生成列中隐藏按钮?,vaadin7,vaadin-grid,Vaadin7,Vaadin Grid,我在生成的列中有一个带有按钮的网格。请参见屏幕截图: 根据列“Has Stacktrace”中的布尔值,我想在列“Stacktrace”中显示或隐藏按钮“view” 我应该扩展Vaadin的com.Vaadin.ui.renderers.ButtonRenderer还是有更简单的选项?我做了以下解决方法,但我仍然想知道如何制作按钮: // create container IndexedContainer container = new IndexedContainer(...); conta

我在生成的列中有一个带有按钮的网格。请参见屏幕截图:

根据列“Has Stacktrace”中的布尔值,我想在列“Stacktrace”中显示或隐藏按钮“view”


我应该扩展Vaadin的com.Vaadin.ui.renderers.ButtonRenderer还是有更简单的选项?

我做了以下解决方法,但我仍然想知道如何制作按钮:

// 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;
                }
            });
//创建容器
IndexedContainer容器=新的IndexedContainer(…);
container.addContainerProperty(“stacktrace”,String.class,null);
//设置数据
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);
});
//设置渲染器
grid.getColumn(“stacktrace”).setRenderer(新的HtmlRenderer(),
新转换器(){
@凌驾
公共字符串转换模型(字符串值,
等级