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']
}