Hi All,
Have you all run the application, i already told u when scroll the grid the
image render is the problem.
I got the same thing when we stretch the column for that i find out the
solution..like tthis
*
public* *function* columnwidthAdjust(event:Event):*void*{
*var* arrColl:ArrayCollection = event.currentTarget.dataProvider
*as*ArrayCollection;
col1.itemRenderer = *null*;
sepProDetCLSGrid.dataProvider = collection;
col1.itemRenderer = *new* Position();
sepProDetCLSGrid.dataProvider = collection;
}
columnStretch="columnwidthAdjust(event)" is the datagrid event
similarlay i m asking when i scroll the grid i need to control the
collection and displaying the data properly..
please see once and let me know the solution..
Regards,
Pradeep
On Tue, Feb 9, 2010 at 1:58 PM, Varun Bajaj <[email protected]> wrote:
> pradeep you had put condition to display the image but not put condition
> for not to display the image this is the only bug in your code.
>
> thanks and regards,
>
> Varun Bajaj
>
>
> On Mon, Feb 8, 2010 at 11:40 PM, FlexiSush <[email protected]> wrote:
>
>> 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]>
>> <flex_india%[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]<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]<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.