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 -~----------~----~----~----~------~----~------~--~---
