Domanda

Ho un elenco a discesa come:

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

Ora i refPatientResponseLists restituisce 3 righe di dati e ho bisogno per visualizzare i 3 valori nella DropDownList. Così ho la funzione di etichette come:

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

Ma questo viene visualizzato solo 1 valore in DropDownList. Quindi restituisce qualcosa come:

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

Come posso ottenere tutti i 3 valori nel menu a discesa. Spero che la mia domanda è comprensibile e in attesa di una risposta.

Grazie

Harish

struttura dell'oggetto dai registri:

(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
È stato utile?

Soluzione 2

Ok sono stato in grado di risolverlo usando

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

Forse utile per gli altri che hanno problemi simili:)

Altri suggerimenti

Sono poco chiaro se il problema è che il vostro elenco a discesa ha solo un singolo elemento o che tutte le voci del menu a tendina sta visualizzando lo stesso testo; ma ho scritto questa risposta assumendo l'ex.

Hai eseguito in modalità di debug? Quante volte è l'labelFunction chiamato? Credo che il labelFunction è una falsa pista in questo caso. Se l'elenco mostra solo un singolo elemento, è più probabile perché pensa dataProvider ha solo un singolo elemento.

Il labelFunction dovrebbe essere chiamato 3 volte se si dispone di un dataProvider w / tre elementi. Si chiama una volta per ogni elemento.

In generale, la mia esperienza di legame è più costante se non mi lego in più oggetti. Quindi, questo sarebbe bene:

model.referenceList

o del presente

referenceList.refPatientResponseLists

Ma, non mi aspetto che questo lavoro:

model.referenceList.refPatientResponseLists

Quindi, la domanda che ho è sei sicuro che tre elementi vengono restituiti nel dataProvider? Sei sicuro che il componente sa che tre elementi sono in dataProvider (AKA è vincolante correttamente l'aggiornamento)?

Senza conoscere la tua struttura dell'oggetto, è difficile per eseguire il debug labelFunction, ma non dovrebbe essere necessario utilizzare la funzione getItemIndex.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top