2011-12-21 58 views
1

我正在使用vaadin的TreeTable。有没有办法删除或隐藏没有任何子项的第一级对象上的下拉箭头,并且仍然正确地将对象垂直放置?vaadin TreeTable删除父母没有子女的下拉列表

UPDATE

最终解决方案,如果有人有兴趣:

我添加FieldFactory表

protected class TableFactory extends DefaultFieldFactory{ 
    private static final long serialVersionUID = 1L; 

    private MyTreeTable table; 
    public TableFactory(MyTreeTable table){ 
     this.table = table; 
    } 

    @Override 
    public Field createField(Container container, Object itemId, 
      Object propertyId, Component uiContext) { 
     Field field = super.createField(container, itemId, propertyId, uiContext); 

     if(itemId instanceof TaskHeadRow){ 
      if(((TaskHeadRow)itemId).getTask() instanceof SystemTask){ 
       table.setChildrenAllowed(itemId, false); 
      } 
     } 

     return field; 
    } 
} 

回答

3

如果定义该项目的箭头不显示:

treetable.setChildrenAllowed("myitemid", false); 
+0

正确答案。但是,这会阻止将新项目作为子项添加到该项目。在这种情况下,我想我必须通过CSS删除它。或将第一列大小设置为1或2像素 – 2014-07-23 12:56:23