Search Results

Search found 119 results on 5 pages for 'arraycollection'.

Page 5/5 | < Previous Page | 1 2 3 4 5 

  • Flex Dataprovider caching issue.

    - by prashanth
    I have two combobox controls. If i change combobox A then I am reading from xml and populating combobox B. The xml is loaded into memory in Application's creationComplete method. When I select values in combobox A and then open combobox B, I am seeing the values correctly, but when I deploy it on the server in a different machine (which is in a different subdomain), then my combobox B values are not cleared and are retained by old selection, when I select the combobox B, then it is getting refreshed. I am making the dataprovider = null for combobox b, and when I am assigning new collection then i am refreshing the arraycollection as well. But still the problem is not solved.

    Read the article

  • Does flex not support hashmaps?

    - by Dr.Dredel
    I have a Flex object which collects a DTO from the server. All the fields arrive filled in correctly except for the one that is a HashMap. It arrives as null. I've tried giving it a type of both ArrayCollection and Dictionary, but that hasn't fixed it. Does anyone know if there's an inherent incomaptability between Java HashMap and Flex? If not, what might I be doing wrong here? I'm looking at my jboss console and I see the data being populated correctly in the server side before delivery to the client. However, as it gets to the client, that field is null. I'm ready to kill myself.

    Read the article

  • flex/actionscript assignment failing?

    - by user346713
    I'm seeing something weird in my actionscript code I have two classes foo and bar, bar extends foo. In a model class I have a foo member variable, I assign an bar object to the foo variable. But after the assignment the foo variable is null. [Bindable] public var f:foo; public function someFunc(arr:ArrayCollection):void { if(arr.length > 0) { var tempBar:bar = arr.getItemAt(0) as bar; if(tempBar != null) { tempBar.someProp++; f = tempBar; // f is now null } } } Any ideas on what I could be doing wrong?

    Read the article

  • Flex: Rendering a bound TileList - when does it finish rendering?

    - by python_noob
    Hi, I have an mx:TileList which is bound to an ArrayCollection. I have some code that displays a "Loading..." message before modifying the ArracyCollection and some code after that hides the loading message. For small data sets, it works fine. However, I noticed with an array size of about 50~ and larger, flex will hide my loading message before the TileList is finished rendering the new data and I'm left with a blank screen for an odd second. Is there an event I can listen to that is called after the TileList is finished re-rendering? Code looks something like this: loading_message.visible = true; for each (var x:Object in new_data) { tile_list_data.append(x); // bound to my_tile_list component } my_tile_list.validateNow(); loading_message.visible = false; In this example, loading_message appear, disappear, and then the flex app will lag before finally revealing the updated TileList. Any ideas? Thanks!

    Read the article

  • Using rendrer in list in flex

    - by Anshuman Jaiswal
    Hi all I am using list component in flex & using custom itemRenderer i.e I have made a component named frameRenrer(there are two controls ImageControl and label control) where I set the image source and label text on creationComplete event.And I providing the data using dataProvider function in List component.But actually problem is that when I scroll this list only 4 items are displayed repeatedly and to check it I make a function on mouseOver of image control in this I am using Alert.show(data.label); then it shows the correct data but it is not displayed in the list.In data provider I am using ArrayCollection. What is the problem anyone????

    Read the article

  • Flex DataGrid reads a field from lastResult.node as number

    - by Nemi
    Why Flex 3 DataGrid reads a string from XML lastResult.node as number? A field is saved as var_char in mysql, php reads it as string and pass it OK. If there are more then 16 charaters it gets rounded.... For example: this in database cell: 12345678901234567 gets read in DataGrid as nubmer as 12345678901234568 this is in database cell: 5555544444222223333377777 php reads it same and puts it in XML flex reads XML into arrayCollection and DataGrid reads it as: 5.55554444422222e+24 So it reads it as number, why? And how to make it read as String? I tried with labelFunction, no help.

    Read the article

  • Loading images from Facebook in Flash Builder

    - by wannax
    Hi, I'm doing a Facebook App where I'd like to pull out all the possible images from a user's album. What I'm trying to do at the moment is a fql query so that i can find all the images that belong to that specific user. it goes something like that: protected function loadFromFacebook(event:MouseEvent):void { var fql:String = "select src_small from photo where owner = me()"; Facebook.fqlQuery(fql, handleGetPhotosResponse); } private function handleGetPhotosResponse(event:Object, fail:Object):void { if (event != null){ facebookPhotos = new ArrayCollection(event as Array); } } I store this images in an array collection but I don't know how to proceed after that. How can I load those images into, say, a Tile List or a Loader? Any help would be much appreciated, thanks

    Read the article

  • Error while assigning the data to dataGrid Dataprovided

    - by sudeep kumar
    Hi , I was trying to acces the datagrid at runtime and want to assign the data to it like public function getGridData(reportsArray:ArrayCollection):void{ reportData = reportsArray; trace(" The length of the datagrid is "+reportData.length); graphDataGrid.dataProvider = reportData; invalidateDisplayList(); } but I was getting this error TypeError: Error #1009: Cannot access a property or method of a null object reference. at views.charts::ComparisonAnalysis/createDataGrid()[C:\FlexProjects\AdvancedMetering\views\charts\ComparisonAnalysis.mxml:32] at views.charts::ComparisonAnalysis/getGridData()[C:\FlexProjects\AdvancedMetering\views\charts\ComparisonAnalysis.mxml:26] at components.CustomReport::CustomReportSelector/getResultHandler()[C:\FlexProjects\AdvancedMetering\components\CustomReport\CustomReportSelector.mxml:147] at components.CustomReport::CustomReportSelector/__reportingBase_dataGridResultChanged()[C:\FlexProjects\AdvancedMetering\components\CustomReport\CustomReportSelector.mxml:203] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:9298] at components.CustomReport::ReportingBase/getDataFromServer()[C:\FlexProjects\AdvancedMetering\components\CustomReport\ReportingBase.as:98] at components.CustomReport::ReportingBase/getResults()[C:\FlexProjects\AdvancedMetering\components\CustomReport\ReportingBase.as:78] at components.CustomReport::CustomReportSelector/getGraphData()[C:\FlexProjects\AdvancedMetering\components\CustomReport\CustomReportScripts.as:20] at components.CustomReport::CustomReportSelector/__getGraphandGridData_click()[C:\FlexProjects\AdvancedMetering\components\CustomReport\CustomReportSelector.mxml:248] Can someboedy please let me know what the problem it looks like the datagrid is not instantiated at this ppoint of time Sudee[

    Read the article

  • Flex Filterfunction - Filter by Array of values

    - by Anandh
    How to filter an Arraycollection by "array of values" rather than a single value (simple comparision) , the below code snippet is for filtering by single value now I went into scenario like filter out only price [10,4,1,8] (some random values from the master collection). Is there any better way to do the second code snippet Filter function simple comparision private function filterForTestData(item:Object):Boolean{ if(item.price < slider.value) return true; else return false; } Filter by array of values private function filterForTestData(item:Object,filterBy:Array= [10,4,1,8]):Boolean{ for(randomprice in filterBy) return item.price == randomprice; } [Edited] Apply Filter testData.filterFunction = filterForTestData;

    Read the article

  • Flex 3.5.0; Update ComboBox display list upon dataprovider change

    - by Gabriel Poama-Neagra
    Hello, I have two related ComboBoxes ( continents, and countries ). When the continents ComboBox changes I request a XML from a certain URL. When I receive that XML i change the DataProvider for the countries ComboBox, like this: public function displayCountryArray( items:XMLList ):void { this.resellersCountryLoader.alpha = 0; this.resellersCountry.dataProvider = items; this.resellersCountry.dispatchEvent( new ListEvent( ListEvent.CHANGE ) ); } I dispatch the ListEvent.CHANGE because I use it to change another ComboBox so please ignore that (and the 1st line ). So, my problem is this: I select "ASIA" from the first continents, then the combobox DATA get's updated ( I can see that because the first ITEM is an item with the label '23 countries' ). I click the combo then I can see the countries. NOW, I select "Africa", the first item is displayed, with the ComboBox being closed, then when I click it, the countries are still the ones from Asia. Anyway, if I click an Item in the list, then the list updates correctly, and also, it has the correct info ( as I said it affects other ComboBoxes ). SO the only problem is that the display list does not get updated. In this function I tried these approaches Converting XMLList to XMLCollection and even ArrayCollection Adding this.resellersCountry.invalidateDisplayList(); Triggering events like DATA_CHANGE and UPDATE_COMPLETE I know they don't make much sense, but I got a little desperate. Please note that when I used 3.0.0 SDK this did not happen. Sorry if I'm stupid, but the flex events are killing me.

    Read the article

  • call a custom event from an item renderer in flex 4

    - by john
    I have a Renderer: [Event(name="addToCart",type="event.ProductEvent")] import mx.collections.ArrayCollection; protected function button1_clickHandler(event:MouseEvent):void { var eventObj:ProductEvent=new ProductEvent("addToCart",data.price,data.descript); dispatchEvent(eventObj); } ]]> <s:Label text="{data.descript}"/> <mx:Image source="{data.url}" width="50" height="50" width.hovered="100" height.hovered="100"/> <s:Label text="{data.price}"/> <s:Button includeIn="hovered" click="button1_clickHandler(event)" label="buy"/> and the custom event class: package events { import flash.events.Event; [Bindable] public class ProductEvent extends Event { public var price:String; public var descript:String; public function ProductEvent(type:String,price:String, descript:String) { super(type); this.price=price; this.descript=descript; } override public function clone():Event { return new ProductEvent(type,price,descript); } } } but a cannot call that event in : any ideas? thanks

    Read the article

  • Flex 3: should I provide prepared data to my component or make it to process data before display?

    - by grapkulec
    I'm starting to learn a little Flex just for fun and maybe to prove that I still can learn something new :) I have some idea for a project and one of its parts is a tree component which could display data in different ways depending on configuration. The idea There is list of objects having properties like id, date, time, name, description. And sometimes list should be displayed like this: first level: date second level: time third level: name and sometimes like this: first level: year second level: month third level: day fourth level: time and name By level I mean level of nesting of course. So, we can have years, that have months, that have days, that have hours and so forth. The problem What could be the best way to do it? I mean, should I prepare data for different ways of nesting outside of component or even outside of flex? I can do it at web service level in C# where I plan to have database access layer and send to flex nice and ready to display XML or array of objects. But I wonder if that won't cause additional and maybe unneccessary network traffic. I tried to hack some code in my component to convert my data objects into XML or ArrayCollection but I don't know enough of Flex and got stuck on elimination of duplicates or getting specific data by some key value. Usually to do such things I have STL with maps, sets and vectors and I find Flex arrays and even Dictionary a little bit confusing (I've read language reference and googled without any significant luck). The question So, to sum things up: should I give my tree component data prepared just for chosen type of display or should I try to do it internally inside component (or some helper class written in ActionScript)?

    Read the article

  • Can't find my bug: Group flat data in Advanced Datagrid w'ont work

    - by Werner
    Hi, i've got an ArrayCollection which is properly displayed in this Advanced Datagrid: <mx:AdvancedDataGrid id="drawingDataDG" editable="true" sortableColumns="true" headerWordWrap="true" sortExpertMode="true" rowCount="8" y="10" right="10" left="10" dataProvider="{model.drawingsData}"> <mx:columns> <mx:AdvancedDataGridColumn headerText="Approved in Week" dataField="ApprovedInWeek" editable="false" visible="true" /> <mx:AdvancedDataGridColumn headerText="DRAWING_PK" dataField="DRAWING_PK" editable="false" visible="false" /> <mx:AdvancedDataGridColumn headerText="Drawing No" dataField="DRAWING_NO" editable="false" visible="true"/> <mx:AdvancedDataGridColumn headerText="Drawing Index" dataField="DRAWING_INDEX" editable="false" visible="true"/> </mx:columns> ` According to this explanation link text I've implemented a GroupingCollection. But it just don't work??? <mx:AdvancedDataGrid id="drawingDataDG" editable="true" sortableColumns="true" headerWordWrap="true" sortExpertMode="true" rowCount="8" y="10" right="10" left="10" initialize="gc.refresh();"> <mx:dataProvider> <mx:GroupingCollection id="gc" source="{model.drawingsData}"> <mx:Grouping> <mx:GroupingField name="ApprovedInWeek"/> </mx:Grouping> </mx:GroupingCollection> </mx:dataProvider> <mx:columns> <mx:AdvancedDataGridColumn headerText="Approved in Week" dataField="ApprovedInWeek" editable="false" visible="true" /> <mx:AdvancedDataGridColumn headerText="DRAWING_PK" dataField="DRAWING_PK" editable="false" visible="false" /> <mx:AdvancedDataGridColumn headerText="Drawing No" dataField="DRAWING_NO" editable="false" visible="true"/> <mx:AdvancedDataGridColumn headerText="Drawing Index" dataField="DRAWING_INDEX" editable="false" visible="true"/> </mx:columns> </mx:AdvancedDataGrid> Please let me know what additional details you may need? Werner

    Read the article

  • Receiving generic typed <T> custom objects through remote object in Flex

    - by Aaron
    Is it possible to receive custom generic typed objects through AMF? I'm trying to integrate a flex app with an existing C# service but flex is choking on custom generic typed objects. As far as I can tell Flex doesn't even support generics, but I'd like to be able to even just read in the object and cast its members as necessary. I basically just want flex to ignore the <T>. I'm hopeful that there's a way to do this, since flex doesn't complain about typed collections (a server call returning List works fine and flex converts it to an ArrayCollection just like an un-typed List). Here's a trimmed down example of what's going on for me: The custom C# typed class public class TypeTest<T> { public T value { get; set; } public TypeTest () { } } The server method returning the typeTest public TypeTest<String> doTypeTest() { TypeTest<String> theTester = new TypeTest<String>("grrrr"); return theTester; } The corresponding flex value object: [RemoteClass(alias="API.Model.TypeTest")] public class TypeTest { private var _value:Object; public function get value():Object { return _value; } public function set value(theValue:Object):void { _value = value; } public function TypeTest() { } } and the result handler code: public function doTypeTest(result:TypeTest):void { var theString:String = result.value as String; trace(theString); } When the result handler is called I get the runtime error: TypeError: Error #1034: Type Coercion failed: cannot convert mx.utils::ObjectProxy@11a98041 to com.model.vos.TypeTest. Irritatingly if I change the result handler to take parameter of type Object it works fine. Anyone know how to make this work with the value object? I feel like i'm missing something really obvious.

    Read the article

  • How should I format an HTTPService result in Flex so that it is accessible for a pie chart?

    - by Eric Reynolds
    I feel like this should be simple, however everywhere I look online someone does something different. I am doing a small charting application to track download statistics, and want to put the data into a pie chart. I am new to Flex, so if my code is horrible I apologize. <s:HTTPService id="service" url="admin/stats/totalstats.php" fault="service_faultHandler(event)" result="service_resultHandler(event)" /> What is the best resultFormat for this purpose, and if I am assigning the returned value to an ActionScript variable, should it be an ArrayList? ArrayCollection? Heres a sample of the XML being returned from the HTTPService <DownloadStats> <year count="24522" year="2008"> <month count="20" month="5" year="2008" full="May 2008"> <day count="2" month="5" day="20" year="2008"/> <day count="1" month="5" day="21" year="2008"/> <day count="9" month="5" day="22" year="2008"/> <day count="1" month="5" day="23" year="2008"/> <day count="1" month="5" day="29" year="2008"/> <day count="1" month="5" day="30" year="2008"/> <day count="5" month="5" day="31" year="2008"/> </month> ... </year> <DownloadStats> Any help is appreciated, Thanks, Eric R. EDIT: I decided that it would be helpful to see how I am transferring the data to the chart to make sure I am not doing something wrong there either. <mx:PieChart id="pieChart"> <mx:PieSeries nameField="year" field="count" labelPosition="callout" displayName="Total" dataProvider="{graphData}"/> </mx:PieChart>

    Read the article

  • Components inside a repeater not resizing as expected

    - by VoidPointer
    I have an mxml panel in which I'm using a repeater. The panel can be resized horizontally and I would like for the repeated components to resize together with panel. Here is a simplified example of how things look like: <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" ...> <!-- scripts and some controls --> <mx:VBox width="100%"> <core:Repeater width="100%" dataProvider="model"> <ns1:MyItemRenderer width="100%" /> </core:Repeater> </mx:VBox> </mx:TitleWindow> When I resize the component, the width of the repeated items does not change. There also buttons and event handlers, which add and remove items from the model. When this is done, the repeater updates to display the correct number of items and all the items are resized correctly. I have not been able to get the items to resize when the root panel is resized. I can see, that the VBOx around the repeater is getting a resize event. However, the repeated items are not getting the event. I tried to dispatch a resize event to the repeated items manually from a resize handler I hooked up to the VBox but that didn't help. I also tried adding and removing a dummy-item from the ArrayCollection which is the dataProvider (because that triggers a correct resize otherwise as mentioned above) However, doing this in the resize handler of the VBox just leads to the repeater not showing any items at all. Is there any way to get items in a repeater to resize with their enclosing container?

    Read the article

  • Emails sent using Flex app are delayed

    - by user363825
    I'm currently building an application in Flex that utilizes SMTP Mailer to automatically send out emails to the user when a particular condition is satisfied. The application checks this condition every 30 seconds. The condition is satisfied based on new records being returned from a database table. The problem is as follows: When the condition is first satisfied, the email is delivered to the user with no issues. The second time the condition is satisfied, the email is not delivered. In the smtp logs, the delivery attempt appears to get hung up on the following line: 354 Start mail input; end with <CRLF>.<CRLF> No error codes are present in the smtp logs, but I do trace the following event from the SMTP Mailer class: [Event type="mailError" bubbles=false cancelable=false eventPhase=2] When the condition is satisfied a third time, the email that was not delivered when the condition was satisfied the previous time is now delivered, along with the email for this instance. This pattern then repeats itself, with the next email not being sent followed by two emails being sent simulatneously when the condition is met again. The smtp server being used is Windows 2003, on an internal network. The email is being sent to an outlook account hosted on an exchange server that is also on this internal network. Here is the actionscript code that creates the SMTPMailer object: public var testMail:SMTPMailer = null; public function alertNotify() { Security.loadPolicyFile("crossdomain.xml"); this.testMail = new SMTPMailer("myserver.ec.local",25); this.testMail.addEventListener(SMTPEvent.MAIL_SENT, onEmailEvent); this.testMail.addEventListener(SMTPEvent.MAIL_ERROR, onEmailError); this.testMail.addEventListener(SMTPEvent.DISCONNECTED, onEmailConn); this.testMail.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onEmailError); } Here is the code that creates the email body and calls the method to send the email: public function alertUser(emailAC:ArrayCollection):void { trace ("In alertUser() before send, testMail.connected = " + testMail.connected.toString()); var testStr:String = " Key Location Event Type Comment Update Time "; for each (var event:rEntity in emailAC) { testStr = testStr + "" + event.key.toString() + "" + event.xml.address.toString() + " " + [email protected]() + "" + [email protected]() + "" + [email protected]() + "" + event.xml.attribute("update-time").toXMLString() + ""; } testStr = testStr + ""; testMail.flush(); testMail.sendHTMLMail("[email protected]","[email protected]","Event Notification",testStr); } Really not sure where the email that gets hung up is being stored until it is finally sent.... Any suggestions as to how to begin to remedy this issue would be much appreciated.

    Read the article

  • Flex/PHP/XML data issue

    - by reado
    I have built a simple application in Flex. When the application loads, a GET request is made to the xmlService.php file with parameters "fetchData=letters". This tells the PHP to return the XML code. In Flex Debug I can see the XML data being sent by the PHP to the flex client. What I need it to do is populate the first drop down box (id="letter") with this data, however nothing is being received by Flex. I added an Alert.show() to check what was being returned but when the application runs, the alert is blank. Can anyone help? Thanks in advance. Image: http://static.readescdn.com/misc/flex.gif // Flex <?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="300" height="300" creationComplete="windowedapplication1_creationCompleteHandler(event)"> <fx:Script> <![CDATA[ import mx.collections.ArrayCollection; import mx.controls.Alert; import mx.events.FlexEvent; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import spark.events.IndexChangeEvent; protected function windowedapplication1_creationCompleteHandler(event:FlexEvent):void { var params:Object = {'fetchData':'letters'}; xmlService.send(params); } protected function xmlService_resultHandler(event:ResultEvent):void { var id:String = xmlService.lastResult.data.id.value; //Alert.show(xmlService.lastResult.data.id.value); if(id == 'letter') { letter.dataProvider = xmlService.lastResult.data.letter; letter.enabled = true; } else if(id == 'number') { number.dataProvider = xmlService.lastResult.data.number; number.enabled = true; submit.enabled = true; } else { submit.label = 'No Data!'; } } protected function xmlService_faultHandler(event:FaultEvent):void { Alert.show(event.fault.message); } protected function letter_changeHandler(event:IndexChangeEvent):void { var params:Object = {'fetchData':'numbers'}; xmlService.send(params); } ]]> </fx:Script> <fx:Declarations> <s:HTTPService id="xmlService" url="URL_GOES_HERE" method="POST" useProxy="false" resultFormat="e4x" result="xmlService_resultHandler(event)" fault="xmlService_faultHandler(event)"/> </fx:Declarations> <s:DropDownList x="94" y="10" id="letter" enabled="false" change="letter_changeHandler(event)" labelField="value"></s:DropDownList> <s:DropDownList x="94" y="39" id="number" enabled="false" labelField="value"></s:DropDownList> <s:Button x="115" y="68" label="Submit" id="submit" enabled="false"/> </s:WindowedApplication> // PHP <? if(isset($_POST['fetchData'])) { if($_POST['fetchData'] == 'letters') { $xml = '<data> <id value="letters"/> <letter label="Letter A" value="a"/> <letter label="Letter B" value="b"/> <letter label="Letter C" value="c"/> </data>'; } else if($_POST['fetchData'] == 'numbers') { $xml = '<data> <id value="letters"/> <number label="Number 1" value="1"/> <number label="Number 2" value="2"/> <number label="Number 3" value="3"/> </data>'; } else { $xml = '<data> <result value="'.$_POST['fetchData'].'"/> </data>'; } echo $xml; } else { echo '<data> <result value="NULL"/> </data>'; } ?>

    Read the article

  • Flex actionscript extending DateChooser, events in calendar

    - by Nemi
    ExtendedDateChooser class is great solution for simple event calendar used in my flex project. You can find it if google for "Adding-Calendar-Event-Entries-to-the-Flex-DateChooser-Component" with a link of updated solution in comments of the post. I posted files below. Problem in that calendar is text events are missing when month is changed. Is there updateCompleted event in Actionscript just like in dateChooser flex component? Like in: <mx:DateChooser id="dc" updateCompleted="goThroughDateChooserCalendarLayoutAndSetEventsInCalendarAgain()"</mx> When scroll event is added, which is available in Actionscript, it gets dispatched but after updateDisplayList() is fired, so didn't manage to answer, why are calendar events erased? Any suggestions, what to add in code, maybe override some function? ExtendedDateChooserClass.mxml <?xml version='1.0' encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:mycomp="cyberslingers.controls.*" layout="absolute" creationComplete="init()"> <mx:Script> <![CDATA[ import cyberslingers.controls.ExtendedDateChooser; import mx.rpc.events.ResultEvent; import mx.rpc.events.FaultEvent; import mx.controls.Alert; public var mycal:ExtendedDateChooser = new ExtendedDateChooser(); // collection to hold date, data and label [Bindable] public var dateCollection:XMLList = new XMLList(); private function init():void { eventList.send(); } private function readCollection(event:ResultEvent):void { dateCollection = event.result.calendarevent; //Position and size the calendar mycal.width = 400; mycal.height = 400; //Add the data from the XML file to the calendar mycal.dateCollection = dateCollection; //Add the calendar to the canvas this.addChild(mycal); } private function readFaultHandler(event:FaultEvent):void { Alert.show(event.fault.message, "Could not load data"); } ]]> </mx:Script> <mx:HTTPService id="eventList" url="data.xml" resultFormat="e4x" result="readCollection(event);" fault="readFaultHandler(event);"/> </mx:Application> ExtendedDateChooser.as package cyberslingers.controls { import flash.events.Event; import flash.events.TextEvent; import mx.collections.ArrayCollection; import mx.controls.Alert; import mx.controls.CalendarLayout; import mx.controls.DateChooser; import mx.core.UITextField; import mx.events.FlexEvent; public class ExtendedDateChooser extends DateChooser { public function ExtendedDateChooser() { super(); this.addEventListener(TextEvent.LINK, linkHandler); this.addEventListener(FlexEvent.CREATION_COMPLETE, addEvents); } //datasource public var dateCollection:XMLList = new XMLList(); //-------------------------------------- // Add events //-------------------------------------- /** * Loop through calendar control and add event links * @param e */ private function addEvents(e:Event):void { // loop through all the calendar children for(var i:uint = 0; i < this.numChildren; i++) { var calendarObj:Object = this.getChildAt(i); // find the CalendarLayout object if(calendarObj.hasOwnProperty("className")) { if(calendarObj.className == "CalendarLayout") { var cal:CalendarLayout = CalendarLayout(calendarObj); // loop through all the CalendarLayout children for(var j:uint = 0; j < cal.numChildren; j++) { var dateLabel:Object = cal.getChildAt(j); // find all UITextFields if(dateLabel.hasOwnProperty("text")) { var day:UITextField = UITextField(dateLabel); var dayHTML:String = day.text; day.selectable = true; day.wordWrap = true; day.multiline = true; day.styleName = "EventLabel"; //TODO: passing date as string is not ideal, tough to validate //Make sure to add one to month since it is zero based var eventArray:Array = dateHelper((this.displayedMonth+1) + "/" + dateLabel.text + "/" + this.displayedYear); if(eventArray.length > 0) { for(var k:uint = 0; k < eventArray.length; k++) { dayHTML += "<br><A HREF='event:" + eventArray[k].data + "' TARGET=''>" + eventArray[k].label + "</A>"; } day.htmlText = dayHTML; } } } } } } } //-------------------------------------- // Events //-------------------------------------- /** * Handle clicking text link * @param e */ private function linkHandler(event:TextEvent):void { // What do we want to do when user clicks an entry? Alert.show("selected: " + event.text); } //-------------------------------------- // Helpers //-------------------------------------- /** * Build array of events for current date * @param string - current date * */ private function dateHelper(renderedDate:String):Array { var result:Array = new Array(); for(var i:uint = 0; i < dateCollection.length(); i++) { if(dateCollection[i].date == renderedDate) { result.push(dateCollection[i]); } } return result; } } } data.xml <?xml version="1.0" encoding="utf-8"?> <rss> <calendarevent> <date>8/22/2009</date> <data>This is a test 1</data> <label>Stephens Test 1</label> </calendarevent> <calendarevent> <date>8/23/2009</date> <data>This is a test 2</data> <label>Stephens Test 2</label> </calendarevent> </rss>

    Read the article

< Previous Page | 1 2 3 4 5