2017-08-12 1 views
0

Ich möchte fragen:Wie unbegrenzt Combobox in Raster hinzuzufügen dynamisch

  1. , wie ich eine unbegrenzte Combobox in formBuildGridControl zur Laufzeit hinzufügen können

    FormBuildStringControl formString = formBuildGridControl.addDataField(form.dataSource(i).id(),DictField.id()); 
    
    formString.label(fieldId2Name(dictTable1.id(),fieldId)); 
    
    FormBuildComboBoxControl combo = formString.addControl(FormControlType::ComboBox,fieldId2Name(dictTable1.id(),f eldId)); 
    
    combo.label(fieldId2Name(dictTable1.id(),fieldId)); 
    

das Problem ist, dass, wenn Ich versuche, das Combobox-Label zuzuweisen Ich bekomme eine Ausnahme, dass die Combo null ist.

Generell möchte ich erreichen, dynamisch eine unbegrenzte Combobox mit jeder Datenquelle zu importieren, aber instand der Datenquelle würde ich gerne mit einem Enum gebunden werden.

Antwort

1

In Ihrem Code versuchen Sie, Ihr Combobox-Steuerelement aus irgendeinem Grund formString hinzuzufügen. Sollten Sie es nicht zu formBuildGridControl hinzufügen? I.e.

FormBuildComboBoxControl combo = formBuildGridControl.addControl(FormControlType::ComboBox, fieldId2Name(dictTable1.id(), fieldId)); 

combo.label(fieldId2Name(dictTable1.id(), fieldId)); 
+0

meine schlechte, das ist richtig, aber immer noch die Gittersteuerung ist leer. –

+0

Das Problem war, dass es nicht einmal ein begrenztes Datenfeld mit dem Grid gab. Also war die Combobox da, aber ich kann es nicht sehen, weil das Gitter überhaupt keine Linien hatte. Klappt wunderbar. –

Verwandte Themen