Flex DropdownList не показывает правильные значения

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

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

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

The 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;
        }

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

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

Спасибо

Хариш

1 ответ

Решение

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

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

public function myLabelFunction(item:Object):String{
 return item['providerName']['PersonName']['firstName'] + ' ' + item['providerName']['PersonName']['lastName']
}
Другие вопросы по тегам