Mininu, fui tentar entender, mas quando eu vi a lapa do código, seu
bug na minha cabeça, resume o problema aew, podemos tentar te ajudar.

On 7 maio, 10:27, "George Queiroz" <[EMAIL PROTECTED]> wrote:
> Pessoal eu tenho uma tela que quero que toda vez q ela for chamada seja
> feita a recarga das ArrayCollection...
>
> A requisição esta sendo feita ao banco e os dados chegam ao Flex só que o
> horizontalList não é populado, qual o problema?
>
> ordem das chamadas: init() e o resultado cai em
> :  resultFindContactTo(contactsTo:*) e depois populo o hList
> fillContactImgAC()
>
> tks
> George
>
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml"; xmlns:local="*"
> layout="horizontal" width="100%" height="100%" title="Call History">
>  <mx:Script>
>         <![CDATA[
>             import mx.rpc.events.FaultEvent;
>             import mx.controls.Alert;
>             import mx.collections.ArrayCollection;
>             import mx.validators.Validator;
>             import mx.controls.Label;
>             import mx.managers.PopUpManager;
>             import mx.containers.FormItem;
>             import mx.messaging.messages.ErrorMessage;
>             import mx.rpc.events.ResultEvent;
>             import mx.collections.ArrayCollection;
>             import mx.events.ValidationResultEvent;
>             [Bindable]
>             private var myValidator:Array;
>             [Bindable]
>             private var contactsToImgAC:ArrayCollection = new
> ArrayCollection();
>             public function init():void{
>                 service.findContactsTo()
>             }
>             private function faultHandler(fault:FaultEvent):void {
>                 Alert.show("code:n" + fault.fault.faultCode + "nnMessage:n"
> + fault.fault.faultString + "nnDetail:n" + fault.fault.faultDetail);
>             }
>             private function addPhone():void {
>                 var phone:Phone = new Phone();
>                 phone.number = itxtPhone.text;
>                 phones.addItem(phone);
>             }
>             private function resetPhone():void {
>                 phones = selContact.phones;
>             }
>             private function filter():void {
>                 allContacts.filterFunction = filterFirst;
>                 allContacts.refresh();
>             }
>             private function filterReset():void {
>                 allContacts.filterFunction = null;
>                 allContacts.refresh();
>                 resetFields();
>             }
>             private function resetFields(): void {
>                 selContact = new Contact();
>                 phones.removeAll();
>             }
>             private function filterFirst(item:Object):Boolean {
>                 return item.name.match(new RegExp(itxtFrom.text, 'i'))
>             }
>             private function search():void {
>                 if(itxtFrom.text !='') {
>                     filter();
>                 } else {
>                     filterReset();
>                 }
>             }
>             // objs com default serve para confrontar com o em uso, para ver
> se ha necessidade de update(phone e email)
>             private function doSelect(c:Contact): void {
>                 selContact = c;
>                 selContactDefault = c;
>                 phones = c.phones;
>                 phonesDefault = c.phones;
>             }
>             private function resultFindAllContacts(contacts:*):void {
>                 allContacts = contacts as ArrayCollection;
>             }
>             private function resultFindContactTo(contactsTo:*): void {
>                 contactsToAC.removeAll();
>     contactsToAC = contactsTo as ArrayCollection;
>                 fillContactImgAC();
>                 service.findAllContacts();
>             }
>             private function fillPhones():void {
>                 if (allContacts.length == 0)
>                     return;
>                 phones = (allContacts.getItemAt(0) as Contact).phones;
>             }
>             private function fillContactImgAC():void {
>                 contactsToImgAC.removeAll();
>                 var imgO:ObjectImage;
>                 for each (var c:Contact in contactsToAC) {
>                     imgO = new ObjectImage();
>                     imgO.url = c.url_image;
>                     imgO.label = c.name;
>                     contactsToImgAC.addItem(imgO);
>                 }
>             }
>             private function onClickImage(imageIndex:*):void {
>                 selContactTo = contactsToAC.getItemAt(imageIndex) as
> Contact;
>             }
>             private function callInformation():void{
>                 if(sttReturnCall.selected){
>                     selCallHistory.callInformation = sttReturnCall.value as
> String;
>                 } else if (sttPleaseCall.selected){
>                     selCallHistory.callInformation = sttPleaseCall.value as
> String;
>                 } else if(sttCallAgain.selected){
>                     selCallHistory.callInformation = sttCallAgain.value as
> String;
>                 }
>             }
>             private function updateCH():void {
>                 callInformation();
>
>                 if ((selContact.id as Object) == null)
>                    service.update(selContact);
>                 else
>                     serviceCH.update(selCallHistory);
>                 selContact = new Contact();
>             }
>             private function resultUpdateContact(contact:*):void {
>                 selContact = contact as Contact;
>                 updateCH();
>             }
>             private function validate():void{
>             myValidator = [vldHList, vldFrom, vldEmail,vldDGPhone, vldData,
> vldHora];
>             var validationError:Array = Validator.validateAll(myValidator);
>             if (validationError.length != 0) {
>                 var validatorPopUp:ValidatorPopUp = new ValidatorPopUp;
>                 validatorPopUp.validatorResult = validationError;
>                 PopUpManager.addPopUp(validatorPopUp,parent,true);
>                 PopUpManager.centerPopUp(validatorPopUp);
>             } else {
>                 updateCH();
>             }
>   }
>     ]]>
>     </mx:Script>
>     <mx:Validator id="vldHList" source="{hLstContactTo}" required="true"
> requiredFieldError="Campo 'To' não selecionado."
>                     property="selectedItem" />
>     <mx:EmailValidator id="vldEmail" source="{itxtEmail}" property="text"
>   required="true" triggerEvent="{Event.CHANGE}"
>   requiredFieldError="É necessário informar um e-mail."
>   invalidCharError="O e-mail informado não possui um formato válido."
>      invalidDomainError= "O domínio de e-mail informado não possui um
> formato válido."
>      missingAtSignError="É necessário o simbolo [EMAIL PROTECTED] no campo 
> E-mail."
>      missingPeriodInDomainError="É necessário informar um domínio de
> e-mail."
>      missingUsernameError="É necessário informar nome de usuário de e-mail."
>      tooManyAtSignsError="E-mail contém mais de um simbolo [EMAIL 
> PROTECTED]"/>
>     <mx:StringValidator id="vldFrom" source="{itxtFrom}" property="text"
>                         required="true" triggerEvent="{Event.CHANGE}"
>                         tooShortError="Campo inválido."
>                         tooLongError="Campo inválido."
>                         requiredFieldError="Campo 'From' Requerido." />
>     <mx:StringValidator id="vldData" source="{dfldtime}" property="text"
>                         required="true" triggerEvent="{Event.CHANGE}"
>                         requiredFieldError="Campo 'Date' Requerido." />
>     <mx:StringValidator id="vldHora" source="{txtHora}" property="text"
>                             required="true" triggerEvent="{Event.CHANGE}"
>                             requiredFieldError="Campo 'Hours' Requerido."
>                             minLength="5" maxLength="5"/>
>     <mx:Validator id="vldDGPhone" source="{gridPhone}" required="true"
> requiredFieldError="'Phone' vazio ou não selecionado."
>                     property="selectedItem" />
>
>     <mx:RemoteObject id="service" destination="contatoService"
> fault="faultHandler(event)">
>   <mx:method name="findContactsTo"
> result="resultFindContactTo(event.result)"/>
>         <mx:method name="findAllContacts"
> result="resultFindAllContacts(event.result)"/>
>   <mx:method name="update" result="resultUpdateContact(event.result)"/>
>  </mx:RemoteObject>
>     <mx:RemoteObject id="serviceCH" destination="callHistoryService"
> fault="faultHandler(event)">
>         <mx:method name="update" />
>     </mx:RemoteObject>
>     <mx:ArrayCollection id="allContacts"/>
>     <mx:ArrayCollection id="phones"/>
>     <mx:ArrayCollection id="phonesDefault"/>
>  <mx:ArrayCollection id="contactsToAC"/>
>     <!--
>     <mx:ArrayCollection id="contactsToImgAC"/>
>     -->
>     <local:Contact id="selContactTo" />
>     <local:Contact id="selContact" name="{itxtFrom.text}"
> email="{itxtEmail.text}" company="{itxtCompany.text}" phones="{phones}"
> to_from="F"/>
>     <local:Contact id="selContactDefault" />
>     <local:CallHistory id="selCallHistory" contactFrom="{selContact}"
> contactTo="{selContactTo}" history="{tareaHistory.text}" dateTime =
> "{dfldtime.selectedDate}"/>
>  <mx:Style>
>   .txtVAlignMiddle {verticalAlign:middle}
>  </mx:Style>
>     <mx:VBox height="100%" width="146">
>   <mx:Spacer width="10" height="10"/>
>   <mx:Label text="To:" id="lblTo" width="146" textAlign="right" height="56"
> styleName="txtVAlignMiddle"/>
>         <mx:Spacer width="10" height="80"/>
>   <mx:Label text="From:" id="lblFrom" width="100%" textAlign="right"/>
>   <mx:Spacer width="100%" height="64"/>
>         <mx:Label text="Company:" width="100%" textAlign="right"
> id="lblCompany"/>
>         <mx:Spacer width="100%" height="1"/>
>   <mx:Label text="Email:" width="100%" textAlign="right" id="lblEmail"/>
>   <mx:Label text="Phone:" id="lblPhone" width="100%" textAlign="right"/>
>   <mx:Spacer width="100%" height="79"/>
>   <mx:Label text="Date:" id="lblTime" width="100%" textAlign="right"/>
>   <mx:Label text="History:" id="lblHistory" width="100%" textAlign="right"/>
>         <mx:Spacer width="100%" height="26"/>
>         <mx:Label text="Status:" id="lblStatus" width="100%"
> textAlign="right"/>
>     </mx:VBox>
>  <mx:VBox height="100%" width="622">
>   <mx:Spacer width="10" height="10"/>
>   <mx:HorizontalList id="hLstContactTo" dataProvider="{contactsToImgAC}"
> useHandCursor="true" itemRenderer="ImageItemRenderer" width="100%"
> height="140" click="onClickImage(hLstContactTo.selectedIndex)"/>
>   <mx:HBox width="100%" id="hboxFrom">
>    <mx:TextInput width="246" id="itxtFrom" change="search()"
> text="{selContact.name}"/>
>             <mx:Button label="Clear" id="btnClearContact"
> click="filterReset()"/>
>   </mx:HBox>
>   <mx:DataGrid height="60" id="gridFrom" width="100%"
> dataProvider="{allContacts}"
> itemClick="doSelect(Contact(event.currentTarget.selectedItem))">
>    <mx:columns>
>     <mx:DataGridColumn headerText="Contact" dataField="name" width="100"/>
>     <mx:DataGridColumn headerText="Company" dataField="company"
> width="100"/>
>    </mx:columns>
>   </mx:DataGrid>
>         <mx:TextInput width="246" id="itxtCompany"
> text="{selContact.company}"/>
>   <mx:TextInput width="246" id="itxtEmail" text="{selContact.email}"/>
>   <mx:HBox width="100%">
>    <mx:TextInput id="itxtPhone" width="246"/>
>             <mx:Button label="Add" id="btnAddPhone" click="addPhone()"/>
>    <mx:Button label="Clear" id="btnClearPhone" click="resetPhone()"/>
>   </mx:HBox>
>         <mx:DataGrid width="247" height="72" id="gridPhone"
> dataProvider="{phones}">
>    <mx:columns>
>     <mx:DataGridColumn headerText="Number" dataField="number"/>
>    </mx:columns>
>   </mx:DataGrid>
>   <mx:HBox>
>             <mx:DateField id="dfldtime"/>
>             <mx:Label text="Hours:" />
>             <mx:TextInput id="txtHora" width="50" maxChars="5"/>
>         </mx:HBox>
>         <mx:TextArea width="100%" id="tareaHistory"/>
>         <mx:HBox width="100%" height="100%" id="hboxStatus">
>             <mx:RadioButton groupName="rbStatus" id="sttReturnCall"
> selected="true" value="Retornou Ligacao" label="Return Call"
> click="callInformation()" />
>             <mx:RadioButton groupName="rbStatus" id="sttPleaseCall"
> value="Favor Ligar" label="Please Call" click="callInformation()" />
>             <mx:RadioButton groupName="rbStatus" id="sttCallAgain"
> value="Ligar Novamente" label="Will Call Again" click="callInformation()" />
>         </mx:HBox>
>         <mx:HBox width="100%" height="100%">
>    <mx:Spacer width="40%" height="10"/>
>    <mx:Image source="img/Ok(reduzido).png" toolTip="Confirm" id="imgConfirm"
> enabled="false" click="validate()"/>
>    <mx:Image source="img/cancel(reduzido).png" toolTip="Cancel"
> id="imgCancel"/>
>   </mx:HBox>
>  </mx:VBox>
>
> </mx:Panel>
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a