Flex DropdownList не показывает правильные значения - PullRequest
0 голосов
/ 07 сентября 2010

У меня есть раскрывающийся список Flex Spark, в котором мне нужно показать имя поставщика, фамилию:

   <s:DropDownList id="providerList"
            dataProvider="{model.practiceProviderList.practiceProviders}"
    labelField="provider.providerName.firstName"/>

Но в выводе отображаются только [объект объекта] и [объект объекта], так как есть 2 поставщика вБД и не показывает фактические значения.

PracticeProviderList.as:

[Bindable]
    [RemoteClass(alias="model.PracticeProviderList")]
    public class PracticeProviderList extends PracticeProviderListBase {

        private var _practiceProviderList:ArrayCollection;

        public function get practiceProviders():ArrayCollection
        {
            return _practiceProviderList;
        }

        public function set practiceProviders(value:ArrayCollection):void 
        {
            _practiceProviderList = value;
        }

Объект PracticeProvider:

public class PracticeProvider  {

        private var _practiceId:Number;
        private var _practiceProviderId:Number;
        private var _provider:Provider;

        public function set practiceId(value:Number):void {
            _practiceId = value;
        }
        public function get practiceId():Number {
            return _practiceId;
        }

        public function set practiceProviderId(value:Number):void {
            _practiceProviderId = value;
        }
        public function get practiceProviderId():Number {
            return _practiceProviderId;
        }

        public function set provider(value:Provider):void {
            _provider = value;
        }
        public function get provider():Provider {
            return _provider;
        }

Провайдер имеет имя поставщика:одно из его полей & PersonName имеет firstName: String & lastName: String

Мне нужно показать имя и фамилию в выпадающем списке.Буду признателен, если кто-то может помочь в этом отношении.

Спасибо

Хариш

1 Ответ

3 голосов
/ 07 сентября 2010

labelField не может объединить 2 значения.Вместо этого используйте labelFunction .

Если я понимаю вашу модель данных, что-то вроде этого:

public function myLabelFunction(item:Object):String{
 return item['providerName']['PersonName']['firstName'] + ' ' + item['providerName']['PersonName']['lastName']
}
...