Hi, you can refer my blog at http://flexphpworld.wordpress.com/2010/02/08/flex-datagrid-with-image-as-itemrenderer/
Hope the above example helps you in solving your problem.. On Feb 8, 8:04 pm, pradeep gorijavolu <[email protected]> wrote: > Hi Varun, > > This is the application code............. > <file:///C:/BlazeDS/componentTest/src/script/PositionImageRenderer.as><?xml > version="1.0" encoding="utf-8"?> > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" > backgroundColor="white" initialize="initGrid()"> > <mx:ArrayCollection id="arr"> > <mx:Object label="User 1" data="1" count="4"/> > <mx:Object label="User 2" data="2" count="4"/> > <mx:Object label="User 3" data="3" count="0" /> > <mx:Object label="User 4" data="4" count="4"/> > <mx:Object label="Open Position" data="5" count="4"/> > <mx:Object label="User 6" data="6" count="0"/> > <mx:Object label="Open Position" data="7" count="4"/> > <mx:Object label="User 8" data="8" count="0"/> > <mx:Object label="User 9" data="9" count="4"/> > <mx:Object label="Open Position" data="10" count="0"/> > <mx:Object label="User 11" data="11" count="4"/> > <mx:Object label="Open Position" data="12" count="0"/> > <mx:Object label="User 13" data="13" count="4"/> > <mx:Object label="User 14" data="14" count="0"/> > <mx:Object label="User 15" data="15" count="4"/> > <mx:Object label="User 16" data="16" count="0"/> > </mx:ArrayCollection> > <mx:ArrayCollection id="arr2"> > > <mx:Object label="User 11" data="11" count="4"/> > <mx:Object label="User 12" data="12" count="0"/> > <mx:Object label="User 13" data="13" count="4"/> > <mx:Object label="User 14" data="14" count="0"/> > <mx:Object label="User 15" data="15" count="4"/> > <mx:Object label="User 16" data="16" count="0"/> > </mx:ArrayCollection> > > <mx:ArrayCollection id="arr3"> > > </mx:ArrayCollection> > > <mx:Script> > <![CDATA[ > import script.Position; > import mx.controls.Label; > import mx.core.Repeater; > import mx.events.CollectionEvent; > import script.PositionImageRenderer; > import mx.events.ScrollEvent; > import mx.events.DataGridEvent; > import mx.controls.Alert; > > public var arrColl:ArrayCollection; > > public function initGrid():void{ > > col1.itemRenderer =null; > dg1.dataProvider = arr; > col1.itemRenderer = new Position(); > dg1.dataProvider = arr; > > //arr.addEventListener(CollectionEvent.COLLECTION_CHANGE,collchange); > } > > public function test(event:DataGridEvent):void{ > //col1.itemRenderer = event.itemRenderer.hb1; > } > [Bindable] > public var arrColl1:ArrayCollection = new ArrayCollection(); > > public function initScroll():void{ > Alert.show("scroll....."); > } > > ]]> > </mx:Script> > > <mx:DataGrid x="161" y="197" id="dg1" height="150" > verticalGridLines="false" horizontalGridLines="true" > horizontalGridLineColor="#cccccc" verticalScrollPolicy="on" > draggableColumns="true" creationComplete="initScroll()"> > <mx:columns> > <mx:DataGridColumn headerText="Column 1" id="col1" width="150"> > > <!--<mx:itemRenderer> > > <mx:Component> > <mx:HBox height="50"> > > <mx:RadioButton/> > <mx:Image source="s1.gif"/> > <mx:Label text="{data.label}"/> > > </mx:HBox> > </mx:Component> > </mx:itemRenderer>--> > </mx:DataGridColumn> > <mx:DataGridColumn headerText="Column 2" dataField="data" /> > <mx:DataGridColumn headerText="Count" dataField="count"/> > </mx:columns> > </mx:DataGrid> > > </mx:Application> > > And custom renderer code..................... > > package script > { > import flash.events.Event; > import flash.events.MouseEvent; > > import mx.containers.HBox; > import mx.controls.Image; > import mx.controls.Label; > import mx.controls.RadioButton; > import mx.controls.dataGridClasses.*; > import mx.core.IFactory; > > public class Position extends HBox implements IFactory > { > private var imageReference:Image = null; > public var radio:RadioButton = new RadioButton(); > private var img:Image = new Image(); > private var lbl:Label = new Label(); > > public function newInstance():* > { > return new PositionImageRenderer(); > } > > override public function set data(value:Object):void > { > radio.selected = false; > if(radio.selected==false){ > radio.addEventListener(MouseEvent.CLICK,function > radiotest(event:Event):void{ > > parentDocument.testMain1(value); > }); > } > addChild(radio); > if(value != null && imageReference == null) > { > if(value.count > 0) { > img.source = "images/srch_plus.gif"; > addChild(img); > lbl.text = value.label ; > > img.toolTip = value.label; > imageReference = img; > > img.addEventListener(MouseEvent.CLICK,function > test(event:Event):void{ > //Alert.show(value.COLLEAGUE_NAME); > > parentDocument.testMain(value.label); > > }); > > addChild(lbl); > > } > else if(value.count == 0){ > lbl.text = " " + value.label + " "; > addChild(lbl); > img.toolTip = value.label; > > } > setStyle("verticalAlign", "middle"); > setStyle("paddingLeft","5"); > > } > > } > > } > > } > > The problem is when i scroll the grid the collection in the grid and the > images are not displayed properly... > > please let me know the solution asap. > > Thanks&Regards, > Pradeep > > On Mon, Feb 8, 2010 at 10:10 AM, FlexiSush <[email protected]> wrote: > > hi pradeep, > > Please give your source file(.mxml) so that i can fix > > for you. > > Regards, > >http://flexphpworld.wordpress.com/ > > > On Feb 4, 11:06 pm, pradeepflex <[email protected]> wrote: > > > Hello Friends, > > > > This is the problem which ifaced from last 3 days.the problem is > > > > I have a datagrid and i am displaying an images based on some > > > condition in the grid. > > > > Intially it displays fine when i scroll the grid vertically the images > > > were not displayed properly. > > > > So please anyone let me know how can i control the scroll in the grid > > > and if possible,please give me some example related that > > > > Regards, > > > Pradeep > > > -- > > You received this message because you are subscribed to the Google Groups > > "Flex India Community" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]<flex_india%[email protected]> > > . > > For more options, visit this group at > >http://groups.google.com/group/flex_india?hl=en. -- You received this message because you are subscribed to the Google Groups "Flex India Community" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/flex_india?hl=en.

