David, Please check if you have labelField available and it's not null.
Thanks, Piotr wt., 23 mar 2021 o 13:47 David Slotemaker de Bruine < [email protected]> napisał(a): > I have tried that too. If I change: > > this.text = value[datasField]; > to > this.text = value["propertyThatIWant"]; > > to works fine. For some reason "dataField" is not being filled in > Javascript. > > D > > > On Tue, 23 Mar 2021 at 13:29, Piotr Zarzycki <[email protected]> > wrote: > >> Can you try to create this renderer in MXML as you did before and use it? >> >> wt., 23 mar 2021 o 13:08 David Slotemaker de Bruine < >> [email protected]> napisał(a): >> >>> 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] >>> >> >> >> -- >> >> 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
