Yes, it works if I Cast the Object, but I don't want to cast it, I want a generic Renderer that uses the "dataField" to get the value.
On Tue, 23 Mar 2021 at 13:00, Maria Jose Esteve <[email protected]> wrote: > @David, Have you tried bindar only instead of override? > > > > I have not worked with DataGrid but with the itemrenderers for List I do > this: > > > > [Bindable("dataChange")] > > public function get > getReg():CTypeRegAvisosNet > > { > > if(!data) > > return new CTypeRegAvisosNet; > > else{ > > return data as CTypeRegAvisosNet; > > } > > } > > > > (In my case I use a class type, but I imagine that with Object it will be > the same) > > > > Hiedra > > > > *De:* David Slotemaker de Bruine <[email protected]> > *Enviado el:* martes, 23 de marzo de 2021 12:39 > *Para:* [email protected] > *Asunto:* Re: Generic DataGrid Renderers > > > > Yes: > > > > <j:DataGridColumn label="Ciclo" dataField="ciclo" columnWidth="80" > itemRenderer="utils.renderers.StringDataGridItemRenderer"/> > > > > StringValue is a [Bindable] String var. that should hold the value of the > property "dataField" of the data Object. But as dataField evaluates de > undefiend it get set to "". > > > > On Tue, 23 Mar 2021 at 12:26, Piotr Zarzycki <[email protected]> > wrote: > > Do you setup dateField in your DataGrid Column? ;) > > > > What is the stringValue ? > > > > On Tue, 23 Mar 2021 at 12:17, David Slotemaker de Bruine < > [email protected]> wrote: > > Hi Piotr, > > > > I have tried overriding the set data method. The problem is that > "dataField" is undefined. > > > > public override function set data(value:Object):void > { > super.data = value; > stringValue = value[dataField]; > this.text = stringValue; > } > > > > stringValue is cast to "". > > > > Any thoughts? > > > > On Tue, 23 Mar 2021 at 09:03, Piotr Zarzycki <[email protected]> > wrote: > > If that's the case I would remove everything in that item renderer, > override property data and there filter: > > > > super.data = value; > > if (!data) { > > this.text = ""; > > } > > > > wt., 23 mar 2021 o 08:57 David Slotemaker de Bruine < > [email protected]> napisał(a): > > Yes! but I wanted to show that the basic version is not working! > > > > My backend returns string constants for null objects and null numbers, I > need to filter these out in the renderer. > > > > On Tue, 23 Mar 2021 at 08:39, Piotr Zarzycki <[email protected]> > wrote: > > Hi David, > > > > It looks like your DataGridItemRenderer is do same thing as the default > one, what's the point of creating this one ? Are you going to expand it's > functionality ? > > > > Thanks, > > Piotr > > > > wt., 23 mar 2021 o 08:31 David Slotemaker de Bruine < > [email protected]> napisał(a): > > Hi All, > > I would like to create a generic Datagrid renderer for some of my VOs. I > have followed the example for TDJ but it's not going me any output or error > message. My code is the following: > <?xml version="1.0" encoding="utf-8"?> > <j:DataGridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" > xmlns:j="library://ns.apache.org/royale/jewel" > xmlns:js="library://ns.apache.org/royale/basic" > > > <fx:Script> > <![CDATA[ > [Bindable("dataChange")] > public function get stringValue():String > { > return data[dataField] as String; > } > > ]]> > </fx:Script> > <j:beads> > <j:HorizontalCenteredLayout/> > <js:ItemRendererDataBinding /> > </j:beads> > <j:Label text="{stringValue}"/> > </j:DataGridItemRenderer> > > Is it because I am using "data[dataField]"? If so what is the best way to > do this without having t create a specific Renderer for each column. > > Cheers, > > David > > > > > -- > > *Piotr Zarzycki * > > > > > -- > > *David Slotemaker de Bruïne* > *Head of Educational Robotics* > > > > Av. Sarriá, 130 - 08017 Barcelona > <https://maps.google.com/?q=Av.+Sarri%C3%A1,+130+-+08017+Barcelona&entry=gmail&source=g> > > > T. +34 932 523 729 ext. 135 > > [email protected] > > > > > -- > > *Piotr Zarzycki * > > > > > -- > > *David Slotemaker de Bruïne* > *Head of Educational Robotics* > > > > Av. Sarriá, 130 - 08017 Barcelona > <https://maps.google.com/?q=Av.+Sarri%C3%A1,+130+-+08017+Barcelona&entry=gmail&source=g> > > > T. +34 932 523 729 ext. 135 > > [email protected] > > -- > > *Piotr Zarzycki * > > > > > -- > > *David Slotemaker de Bruïne* > *Head of Educational Robotics* > > > > Av. Sarriá, 130 - 08017 Barcelona > <https://maps.google.com/?q=Av.+Sarri%C3%A1,+130+-+08017+Barcelona&entry=gmail&source=g> > > > T. +34 932 523 729 ext. 135 > > [email protected] > -- *David Slotemaker de Bruïne* *Head of Educational Robotics* Av. Sarriá, 130 - 08017 Barcelona <https://maps.google.com/?q=Av.+Sarri%C3%A1,+130+-+08017+Barcelona&entry=gmail&source=g> T. +34 932 523 729 ext. 135 [email protected]
