Frage

Ich habe eine Dropdown-Liste wie:

    <s:DropDownList id="cad" width="100%" dataProvider="{model.referenceList.refPatientResponseLists}" 
labelFunction="myFunction"                              selectedIndex="{model.cd.code}"/>

Nun ist der refPatientResponseLists Returns 3 Reihen von Daten & Ich brauche die drei Werte in der Dropdownliste angezeigt werden soll. So habe ich das Label Funktion wie:

    public function myFunction(item:Object):String {
     return item['refPatientResponses'] [cad.dataProvider.getItemIndex(item)]['responseDesc']+''; 
}

Aber diese zeigt nur 1 Wert in der Dropdownliste. Also es gibt so etwas wie:

return item['refPatientResponses'] [0] ['responseDesc']+'' 

Wie kann ich alle drei Werte in der Dropdown-Liste erhalten. Hoffe, dass meine Frage ist verständlich und erwartet eine Antwort.

Danke

Harish

Objektstruktur aus den Protokollen:

(Typed Object #1 'datacollection.model.ReferenceList')
    (Array #3)
    refPatientResponseLists = (Externalizable Object #4 'flex.messaging.io.ArrayCollection')
      (Array #5)
        [0] = (Typed Object #6 'datacollection.model.RefPatientResponseList')
          refPatientResponses = (Externalizable Object #7 'flex.messaging.io.ArrayCollection')
            (Array #8)
              [0] = (Typed Object #9 'datacollection.model.RefPatientResponse')
                responseSequence = 1
                responseDesc = "No"
                responseCode = 28
                responseTypeCode = 10
              [1] = (Typed Object #10 'datacollection.model.RefPatientResponse')
                responseSequence = 2
                responseDesc = "Yes"
                responseCode = 29
                responseTypeCode = 10
              [2] = (Typed Object #11 'datacollection.model.RefPatientResponse')
                responseSequence = 3
                responseDesc = "Claim Not Found"
                responseCode = 30
                responseTypeCode = 10
War es hilfreich?

Lösung 2

Ok, ich war in der Lage, es zu lösen mit

Model.referenceList.refPatientResponseLists.getItemAt(0).refPatientResponses

Vielleicht hilfreich für andere, die ähnliche Probleme haben:)

Andere Tipps

Ich bin unklar, ob Ihr Problem ist, dass Ihre Dropdown-Liste nur ein einzelnes Element hat oder, dass alle Elemente in der Dropdown-Liste werden den gleichen Text anzeigt; aber ich schrieb diese Antwort die frühere Annahme.

Haben Sie laufen im Debug-Modus? Wie oft wird die labelfunction aufgerufen wird? Ich denke, die labelfunction ist ein roter Hering in diesem Fall. Wenn die Liste nur ein einzelnes Element zeigt, ist es sehr wahrscheinlich, weil es die Datenprovider denkt nur ein einzelnes Element hat.

Das sollte 3 mal labelfunction aufgerufen werden, wenn Sie einen Datenprovider w / drei Punkte haben. Es wird einmal für jedes Element genannt.

Im Allgemeinen meine Bindung Erfahrung ist konsequenteste, wenn ich nicht in mehrere Objekte binden. Also, Sie wäre dies in Ordnung sein:

model.referenceList

oder das

referenceList.refPatientResponseLists

Aber ich würde das nicht erwarten, an der Arbeit:

model.referenceList.refPatientResponseLists

Also, die Frage, die ich habe, ist sind Sie sicher, dass drei Elemente im Datenprovider zurückgegeben werden? Sind Sie sicher, dass die Komponente weiß, dass drei Artikel im Datenprovider sind (AKA richtig aktualisiert verbindlich)?

Ohne Ihre Objektstruktur zu kennen, ist es schwer, Ihre labelfunction zu debuggen, aber Sie sollten nicht die getItemIndex Funktion verwenden müssen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top