Set selectedItem auf einem Flex-Kombinationsfeld, wenn das Kombinationsfeld nicht angezeigt?

Ich versuche zu setzen selectedItem auf ein Kombinationsfeld(mx). Im folgenden ist der code :

callLater(function ():void {
        if (comboBox.dataProvider && comboBox.dataProvider.length > 0) {
            comboBox.selectedItem = comboBox.dataProvider.getItemAt(0);
        }
});

EDIT : ich bin Comboboxes erstellen programmatisch :

var comboBox:ComboBox = new ComboBox();

Dies funktioniert sehr gut, und legt den selectedItem an das erste Element aus dem Datenprovider - aber NUR, wenn die combobox auf dem Bildschirm angezeigt wird und nicht versteckt in eine Reduzierbare Gruppe.

Ich habe eine situation wo ich kann die combobox umschlossen eine Reduzierbare Gruppe (meine eigene Komponente) und nicht angezeigt, bis die reduzierte Gruppe erweitert (siehe Bilder unten)

Ersten Bild : Bei den Gruppen reduziert sind und die combobox wird nicht angezeigt, aber erstellt
Set selectedItem auf einem Flex-Kombinationsfeld, wenn das Kombinationsfeld nicht angezeigt?

Zweiten Bild : wenn die reduzierte Gruppe ist erweitert um die Anzeige der combobox - beachten Sie, dass das erste element im Datenprovider, verwenden NICHT ausgewählt ist, als selectedItem

Set selectedItem auf einem Flex-Kombinationsfeld, wenn das Kombinationsfeld nicht angezeigt?

folgende Zeile wird IMMER ausgeführt

 comboBox.selectedItem = comboBox.dataProvider.getItemAt(0);

Aber das erste Element ist in dem Fall, wenn die combobox-Komponente eingeschlossen ist, in einer reduzierten Gruppe - funktioniert gut, wenn die combobox ist eingeschlossen in einer erweiterten Gruppe.

Ich denke das ist ein bug im flex - es sei denn, jemand der anders denkt ?

InformationsquelleAutor Ved | 2012-05-30

Schreibe einen Kommentar