Flex dropdownlist labelfunction
-
09-10-2019 - |
Вопрос
У меня выпадающий список как:
<s:DropDownList id="cad" width="100%" dataProvider="{model.referenceList.refPatientResponseLists}"
labelFunction="myFunction" selectedIndex="{model.cd.code}"/>
Теперь RefPatientResponseLists возвращает 3 ряда данных, и мне нужно отобразить 3 значения в DropDownlist. Поэтому у меня есть функция метки как:
public function myFunction(item:Object):String {
return item['refPatientResponses'] [cad.dataProvider.getItemIndex(item)]['responseDesc']+'';
}
Но это отображает только 1 значение в DropDownlist. Так что это возвращает что-то вроде:
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
Решение 2
Хорошо, я смог решить это, используя
Model.referenceList.refPatientResponseLists.getItemAt(0).refPatientResponses
Может быть, полезно для других, у которых есть подобные проблемы :)
Другие советы
Я неясно, если ваша проблема заключается в том, что ваш выпадающий список имеет только один элемент или что все элементы в раскрывающемся списке отображаются один и тот же текст; Но я написал этот ответ, предполагая первое.
Вы работали в режиме отладки? Сколько раз называется labelfunction? Я думаю, что Labelfunction - это красная сельдь в этом случае. Если список показывает только один элемент, он скорее всего, поскольку он считает, что DataProvider имеет единственный элемент.
Labelfunction следует называться 3 раза, если у вас есть dataProvider с тремя пунктами. Это называется один раз для каждого элемента.
Как правило, мой опыт обязательства наиболее последовательно, если я не связываюсь на несколько объектов. Итак, вы это все будет хорошо:
model.referenceList
или это
referenceList.refPatientResponseLists
Но я бы не ожидал этого работать:
model.referenceList.refPatientResponseLists
Итак, вопрос, который у меня есть, это вы уверены, что в DataProvider возвращаются три предмета? Вы уверены, что компонент знает, что три предмета в вашем dataProvider (aka - это обязательное обязательное обновление)?
Не зная своей структуры объекта, трудно отлаживать свою лабонцию, но вам не нужно использовать функцию GetItemIndex.