0

私は次のようなドロップダウンリストを持っています:

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

これで、refPatientResponseListsは3行のデータを返し、ドロップダウンリストに3つの値を表示する必要があります。だから私はラベル関数を次のように持っています:

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

ただし、これはドロップダウンリストに1つの値しか表示しません。したがって、次のようなものが返されます。

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

ドロップダウンで3つの値すべてを取得するにはどうすればよいですか。私の質問が理解でき、返事を期待していることを願っています。

ありがとう

ハリッシュ

ログからのオブジェクト構造:

(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
4

2 に答える 2

0

ドロップダウンリストにアイテムが1つしかないのか、ドロップダウンリストのすべてのアイテムに同じテキストが表示されているのかがわかりません。しかし、私は前者を想定してこの答えを書きました。

デバッグモードで実行しましたか?labelFunctionは何回呼び出されていますか?この場合、labelFunctionは赤いニシンだと思います。リストに単一のアイテムしか表示されていない場合は、dataProviderに単一のアイテムしかないと見なされている可能性があります。

3つのアイテムを持つdataProviderがある場合は、labelFunctionを3回呼び出す必要があります。アイテムごとに1回呼び出されます。

一般に、複数のオブジェクトにバインドしない場合、バインドエクスペリエンスは最も一貫しています。だから、これは大丈夫でしょう:

model.referenceList

またはこれ

referenceList.refPatientResponseLists

しかし、私はこれが機能することを期待していません:

model.referenceList.refPatientResponseLists

だから、私が持っている質問は、3つのアイテムがdataProviderに返されていることを確認していますか?コンポーネントは、3つのアイテムがdataProviderにあることを認識していますか(別名、バインディングは適切に更新されています)?

オブジェクトの構造がわからないと、labelFunctionをデバッグするのは困難ですが、getItemIndex関数を使用する必要はありません。

于 2010-10-18T21:50:58.330 に答える
0

わかりました、私はそれを使用してそれを解決することができました

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

同様の問題を抱えている他の人にも役立つかもしれません:)

于 2010-10-22T18:55:27.177 に答える