Eu tb, broxei s� de olhar... 2008/5/7 Peu <[EMAIL PROTECTED]>: > > 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 -~----------~----~----~----~------~----~------~--~---
