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]

Reply via email to