我正在运行Vaadin 8,并且有一个TreeGrid,其中的列设置带有组合框以供编辑。不幸的是,当我连续单击一个组合时,它会立即打开和关闭下拉菜单,几乎不允许我看到组合选项,但是我仍然可以在组合中键入文本,然后下拉菜单才会出现(组合只有很少的示例值)在里面)。我注意到会话终止(并且服务器未连接)时,我能够打开下拉列表。
这是我的代码段,其中添加了这样的列:
tg.addComponentColumn( r -> {
ComboBox<String> labelsCb = new ComboBox<>();
labelsCb.setNewItemProvider( new NewItemProvider<String>() {
@Override
public Optional<String> apply( String t ) {
return Optional.of( t );
}
} );
labelsCb.setDataProvider( labelsDp );
labelsCb.setHeight( LABEL_COMBO_HEIGHT + "px" );
labelsCb.setWidth( LABEL_COMBO_WIDTH_PX + "px" );
labelsCb.addSelectionListener( event -> {
r.setLabel( event.getValue() );
});
return labelsCb;
} ).setCaption( LABEL ).setWidth( LABEL_COMBO_WIDTH_PX * 1.40 );
答案 0 :(得分:0)
找到了原因-我的组合列干扰了TreeGrid的expander列(第一列在左侧)-一旦将其列为第二列,它便开始工作。我相信这是TreeGrid的一个错误,但这是一个不错的解决方法。