2017-09-26 6 views
0

Ich benutze Vaadin ComboBox in meinem Projekt und jetzt habe ich ein neues Problem, das mir nicht erlaubt, die Combo Liste zu öffnen, nachdem ich auf die ComboBox oder auf die ComboBox geklickt habe DropDown-Symbol! Ich kann die ComboBox eingeben und mit den Pfeiltasten auf der Tastatur kann ich die ComboBox-Liste aber nicht mit einem Klick öffnen. Ich fand heraus, wenn ich meinen Mauszeiger in einem bestimmten Bereich oben auf der ComboBox halte, wird der Zeiger zu einer Hand wechseln und dann kann ich die Liste mit einem Klick öffnen, aber nur in diesem Fall und es passiert selten, dass ich die fokussieren kann Mauszeiger auf diesen Bereich, es ist wie ein kleiner Punkt auf der gesamten ComboBox.Vaadin ComboBox erlaube mir nicht zu klicken

und der einzige Code, den ich für dieses ComboBox bin mit ist, edited:

public class ChildElement extends OgsAbstractForm<Child> { 

    @Inject 
    ChildFacade childFacade; 

    ComboBox cbChild=new ComboBox(); 
    HorizontalLayout mainLayout=new MHorizontalLayout(); 

@Override 
protected Component createContent() { 

    List<Child> children=new ArrayList<Child>(); 
    children.addAll(childFacade.findAll()); 

    for(int i=0;i<children.size();i++){ 
     cbChild.addItem(children.get(i).getName()); 
    } 

    cbChild.select(children.get(0).getName()); 

    cbChild.setFilteringMode(FilteringMode.CONTAINS); 


    mainLayout.addComponent(cbChild); 
    return mainLayout; 
} 

} 

Und dann verwende ich dieses Element in einer Ansicht wie unten,

public class OGSVertragView extends CssLayout implements View{ 

@Inject 
ChildElement childElement; 

VerticalLayout main=new VerticalLayout(); 

@PostConstruct 
void init() { 

    main.addComponent(childElement); 

    addComponents(main); 

} 
} 

Es wäre wirklich sein schön, wenn mir jemand eine Ahnung geben könnte oder mir hilft.

Mit freundlichen Grüßen!

+0

Was ist 'cbKinder'? – Shirkam

+0

Entschuldigung, ich habe den Namen der Elemente von Deutsch auf Englisch geändert und diesen vergessen: D @Shirkam –

+0

Welche Version von Vaadin benutzt du? – Shirkam

Antwort

0

Sieht für mich wie Ihre ComboBox nicht genug Platz hat. Versuchen Sie, mainLayout Höhe wie 200-300 px einzustellen, und stellen Sie sicher, dass Ihre VerticalLayout main genug Platz für `mainLayout geben wird. finden Sie fügte hinzu:

cbChild.setImmediate(true); 

+ Small tip about initializing variables

+0

Vielen Dank! Es war nicht "cbChild.setImmediate (true);", aber die Breite, cbChild hatte eine Breite von 100% und auch das übergeordnete Layout. –

+0

Ich habe nur die Breite statt 100% auf 100px geändert und es funktioniert. –

+0

aber wie kann ich es mit Prozent anstelle von Pixel tun? Irgendeine Idee? –

Verwandte Themen