flex - Value in Datagrid itemrenderers set data method doesn't return the correct data -



flex - Value in Datagrid itemrenderers set data method doesn't return the correct data -

i've got gridcolumn in datagrid (spark). column's dataprovider number value gets updated via binding.

now, without item renderer cell displays right values. if set item renderer, can't access values in renderer.

my renderer looks this, nil here (for now) trace value, value nan.

<?xml version="1.0" encoding="utf-8"?> <s:griditemrenderer xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" width="100%" height="100%" > <fx:script> <![cdata[ override public function set data(value:object):void { trace(number(value)); } ]]> </fx:script> </s:griditemrenderer>

i don't understand why happens, insight much appreciated! again, without renderer, column displays right values, apparently defaultgriditemrenderer works fine.

as requested, here datagrid;

<s:datagrid id="datagrid" dataprovider="{_listitems}"> <s:columns> <s:arraylist> <s:gridcolumn datafield="change" headertext="change" itemrenderer="myitemrenderer" /> ... </s:datagrid>

_listitems arraylist instances of model class, has (amongst others) property called alter of type number.

do this:

[bindable] private var simpledataprovider:arraycollection = new arraycollection([{first: "this", second: "is", third:"test", fourth:"data"}, {first:"not", second:"full", third: "row"}]);

datagrid:

<s:datagrid id="dg" dataprovider="{simpledataprovider}"> <s:columns> <s:arraycollection> <s:gridcolumn datafield="first"/> <s:gridcolumn itemrenderer="group.testrenderer3"/> <s:gridcolumn datafield="third"/> <s:gridcolumn datafield="fourth"/> </s:arraycollection> </s:columns> </s:datagrid>

and item renderer:

<?xml version="1.0" encoding="utf-8"?> <s:griditemrenderer xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" clipandenablescrolling="true"> <fx:script> <![cdata[ override public function set data(value:object):void { lbldata.text = value.second; } ]]> </fx:script> <s:label id="lbldata" top="9" left="7"/> </s:griditemrenderer>

most of import thing value.second in case should value.change

flex datagrid itemrenderer

Comments

Popular posts from this blog

How do I check if an insert was successful with MySQLdb in Python? -

delphi - blogger via idHTTP : error 400 bad request -

postgresql - ERROR: operator is not unique: unknown + unknown -