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

Reply via email to