Mensagem sobre o tópico
A Velha história da DataGrid, ItemRenderer e RadioButton...
Received: by 10.35.13.4 with SMTP id q4mr20340914pyi.7.1203723238767;
Fri, 22 Feb 2008 15:33:58 -0800 (PST)
Return-Path: <marcelo.savi...@dclick.com.br>
Received: from el-out-1112.google.com (el-out-1112.google.com [209.85.162.177])
by mx.google.com with ESMTP id a28si367156pye.0.2008.02.22.15.33.58;
Fri, 22 Feb 2008 15:33:58 -0800 (PST)
Received-SPF: pass (google.com: domain of marcelo.savi...@dclick.com.br designates 209.85.162.177 as permitted sender) client-ip=209.85.162.177;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of marcelo.savi...@dclick.com.br designates 209.85.162.177 as permitted sender) smtp.mail=marcelo.savi...@dclick.com.br
Received: by el-out-1112.google.com with SMTP id v27so1116710ele.22
for <flexdev@googlegroups.com>; Fri, 22 Feb 2008 15:33:58 -0800 (PST)
Received: by 10.114.27.20 with SMTP id a20mr702602waa.101.1203723238172;
Fri, 22 Feb 2008 15:33:58 -0800 (PST)
Received: by 10.114.72.12 with HTTP; Fri, 22 Feb 2008 15:33:58 -0800 (PST)
Message-ID: <4b535b070802221533i412822fapa159d8946d2faf1d@mail.gmail.com>
Date: Fri, 22 Feb 2008 20:33:58 -0300
From: "Marcelo Savioli" <marcelo.savi...@dclick.com.br>
To: flexdev@googlegroups.com
Subject: =?ISO-8859-1?Q?Re:_[flexdev]_Re:_A_Velha_hist=F3ria_da_?= =?ISO-8859-1?Q?DataGrid,_ItemRenderer_e_RadioButton...?=
In-Reply-To: <606b0ce2-b1ef-43a5-835d-7cb18e430df5@d21g2000prf.googlegroups.com>
Mime-Version: 1.0
Content-Type: multipart/alternative;
boundary="----=_Part_3845_29790830.1203723238166"
References: <9eceffb1-294c-4e02-bcc9-d1944f5fae92@p25g2000hsf.googlegroups.com>
<606b0ce2-b1ef-43a5-835d-7cb18e430df5@d21g2000prf.googlegroups.com>
------=_Part_3845_29790830.1203723238166
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Hahahahaha... muito bom Beck.. muito bom!
On 2/22/08, Beck Novaes <beck.nov...@gmail.com> wrote:
>
>
> Problemas com Item Renderers ou Item Editors? O seu Item Renderer/
> Editor n=E3o mant=EAm o estado? O seu Item Renderer/Editor n=E3o muda o
> valor do item da linha correspondente?
>
> SEUS PROBLEMAS ACABARAM!
> Ligue 011 1406 e pe=E7a j=E1 o "editorDataField".
>
> O "editorDataField " =E9 testado e aprovado pelos Laborat=F3rios Adobe e
> n=F3s garantimos: Ele funciona!
>
> Caso Real (exemplo que n=E3o funciona):
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
>
> <mx:DataGrid>
> <mx:dataProvider>
> <mx:Object col1=3D"Col 1.1 Data" col2=3D"Col 1.2 Data"
> selected=3D"false"/
> >
> <mx:Object col1=3D"Col 2.1 Data" col2=3D"Col 2.2 Data"
> selected=3D"true"/>
> <mx:Object col1=3D"Col 3.1 Data" col2=3D"Col 3.2 Data"
> selected=3D"false"/
> >
> <mx:Object col1=3D"Col 4.1 Data" col2=3D"Col 4.2 Data"
> selected=3D"false"/
> >
> <mx:Object col1=3D"Col 5.1 Data" col2=3D"Col 5.2 Data"
> selected=3D"false"/
> >
> <mx:Object col1=3D"Col 6.1 Data" col2=3D"Col 6.2 Data"
> selected=3D"false"/
> >
> <mx:Object col1=3D"Col 7.1 Data" col2=3D"Col 7.2 Data"
> selected=3D"false"/
> >
> <mx:Object col1=3D"Col 8.1 Data" col2=3D"Col 8.2 Data"
> selected=3D"false"/
> >
> </mx:dataProvider>
> <mx:columns>
> <mx:DataGridColumn dataField=3D"col1" headerText=3D"Col 1"=
/>
> <mx:DataGridColumn dataField=3D"col2" headerText=3D"Col 2"=
/>
> <mx:DataGridColumn dataField=3D"selected"
> headerText=3D"Selected">
> <mx:itemRenderer>
> <mx:Component>
> <mx:CheckBox selected=3D"{
> data.selected}"/>
> </mx:Component>
> </mx:itemRenderer>
> </mx:DataGridColumn>
> </mx:columns>
> </mx:DataGrid>
>
>
> Depoimento de um programador Flex:
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
> "Eu desenvolvi o c=F3digo acima, mas ao execut=E1-lo, toda vez que eu
> marco um CheckBox na ultima linha do DataGrid e fa=E7o scroll ele perde
> o estado."
>
> Outro programador:
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> "Eu tamb=E9m j=E1 vi algo parecido, e ao ver o valor dos objetos eu
> percebi que eles n=E3o estavam sendo atualizados conforme eu marcava o
> CheckBox."
>
>
> N=E3o se preocupem. Estes s=E3o casos comuns. Mas veja como o super
> "editorDataField" pode resolver o seu problema:
>
>
> Caso Real (exemplo que funciona):
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
> <mx:DataGrid editable=3D"true">
> <mx:dataProvider>
> <mx:Object col1=3D"Col 1.1 Data" col2=3D"Col 1.2 Data"
> selected=3D"false"/
> >
> <mx:Object col1=3D"Col 2.1 Data" col2=3D"Col 2.2 Data"
> selected=3D"true"/>
> <mx:Object col1=3D"Col 3.1 Data" col2=3D"Col 3.2 Data"
> selected=3D"false"/
> >
> <mx:Object col1=3D"Col 4.1 Data" col2=3D"Col 4.2 Data"
> selected=3D"false"/
> >
> <mx:Object col1=3D"Col 5.1 Data" col2=3D"Col 5.2 Data"
> selected=3D"false"/
> >
> <mx:Object col1=3D"Col 6.1 Data" col2=3D"Col 6.2 Data"
> selected=3D"false"/
> >
> <mx:Object col1=3D"Col 7.1 Data" col2=3D"Col 7.2 Data"
> selected=3D"false"/
> >
> <mx:Object col1=3D"Col 8.1 Data" col2=3D"Col 8.2 Data"
> selected=3D"false"/
> >
> </mx:dataProvider>
> <mx:columns>
> <mx:DataGridColumn dataField=3D"col1" headerText=3D"Col 1"
> editable=3D"false"/>
> <mx:DataGridColumn dataField=3D"col2" headerText=3D"Col 2"
> editable=3D"false"/>
> <mx:DataGridColumn dataField=3D"selected"
> headerText=3D"Selected"
> rendererIsEditor=3D"true"
> editorDataField=3D"selected">
> <mx:itemRenderer>
> <mx:Component>
> <mx:CheckBox selected=3D"{
> data.selected}"/>
> </mx:Component>
> </mx:itemRenderer>
> </mx:DataGridColumn>
> </mx:columns>
> </mx:DataGrid>
>
> Depoimento de um programador Flex:
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
> "Incr=EDvel! Depois de usar o super ultra plus 'editorDataField' os meus
> problemas acabaram. Agora eu posso fazer scroll a vontade e tudo
> funciona perfeitamente".
>
> Outro programador:
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> "Depois de usar o 'editorDataField' a minha vida mudou completamente.
> Agora os objetos s=E3o atualizados corretamente e eu n=E3o preciso ficar
> trabalhando at=E9 mais tarde para resolver o meu problema. A minha
> esposa ficou bastante feliz com isso".
>
>
> O "editorDataField" age diretamente no problema porque ele permite
> informar qual propriedade do "itemRenderer/editor" ser=E1 usada para
> atualizar o item (linha do DataGrid). Sem isso, a propriedade default
> ser=E1 usada e uma vez que a propriedade default =E9 "text", se voc=EA
> estiver usando um ComboBox, RadioButton ou CheckBox isso n=E3o vai
> funcionar. Por isso, quando voc=EA usa um CheckBox, por exemplo, e diz
> que o "editorDataField" =E9 "selectedItem" o DataGrid pegar=E1 o valor
> desta propriedade para atualizar a propriedade descrita pelo
> "dataField" do seu DataGridColumn.
>
> MAS N=C3O =C9 S=D3 ISSO. Para usar o "editorDataField" com um "itemRendere=
r"
> voc=EA deve usar tamb=E9m a propriedade "rendererIsEditor" do seu
> "DataGridColumn".
>
> MAS N=C3O =C9 S=D3 ISSO. Para usar o "editorDataField" voc=EA precisa usar
> tamb=E9m a propriedade "editable" do seu DataGrid.
>
> MAS N=C3O =C9 S=D3 ISSO. Uma vez que voc=EA provavelmente n=E3o vai querer=
que
> todas as colunas sejam edit=E1veis voc=EA deve usar tamb=E9m a propriedade
> "editable" de cada DataGridColumn.
>
>
> "editorDataField". Ligue para 011 1406 e pe=E7a j=E1 o seu!
>
> ATEN=C7=C3O: Consulte tamb=E9m o manual do fabricante:
>
> http://livedocs.adobe.com/labs/flex3/html/help.html?content=3Dcellrenderer=
_1.html
>
>
> P.S.: Pessoal, desculpem a brincadeira, mas essa foi uma maneira que
> eu encontrei (adicionando um toque de humor) de deixar isto na
> "mem=F3ria" das pessoas uma vez que este =E9 um dos problemas mais
> recorrentes do Flex que eu j=E1 vi at=E9 hoje.
>
>
>
>
> On Feb 22, 4:40 pm, HideLine <IPra...@gmail.com> wrote:
> > Ol=E1,
> >
> > Sempre que uso ItemRender em uma DataGrid com componentes de a=E7=E3o,
> > tenho problemas em manter o estado, deste componente dentro da
> > DataGrid.
> >
> > Ex:
> >
> > http://forum.flexbrasil.com.br/viewtopic.php?f=3D3&t=3D187
> >
> > Se algu=E9m j=E1 achou uma solu=E7=E3o, por favor post aki e l=E1 para o
> > rdaraujo!
> >
> > Obrigado.
> >
>
--=20
Marcelo Curi Savioli
D-Click Web & Mobile Solutions
marcelo.savi...@dclick.com.br
www.dclick.com.br/blog
www.dclick.com.br
------=_Part_3845_29790830.1203723238166
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Hahahahaha... muito bom Beck.. muito bom!<br><br><div><span class=3D"gmail_q=
uote">On 2/22/08, <b class=3D"gmail_sendername">Beck Novaes</b> <<a href=
=3D"mailto:beck.nov...@gmail.com">beck.nov...@gmail.com</a>> wrote:</span=
><blockquote class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204, =
204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br> Problemas com Item Renderers ou Item Editors? O seu Item Renderer/<br> =
Editor n=E3o mant=EAm o estado? O seu Item Renderer/Editor n=E3o muda o<br> =
valor do item da linha correspondente?<br> <br> SEUS PROBLEMAS ACABARAM!<br>
Ligue 011 1406 e pe=E7a j=E1 o "editorDataField".<br> <br> O &quo=
t;editorDataField " =E9 testado e aprovado pelos Laborat=F3rios Adobe e=
<br> n=F3s garantimos: Ele funciona!<br> <br> Caso Real (exemplo que n=E3o f=
unciona):<br>
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D<br> <br> <mx:DataGrid><br> &nbs=
p; <mx:dataProvider><br>  =
; <mx:Object c=
ol1=3D"Col 1.1 Data" col2=3D"Col 1.2 Data" selected=3D&q=
uot;false"/<br> ><br>
&nbs=
p; <mx:Object col1=3D"Col 2.1 Data" col2=3D&qu=
ot;Col 2.2 Data" selected=3D"true"/><br> =
&nbs=
p;<mx:Object col1=3D"Col 3.1 Data" col2=3D"Col 3.2 Data&qu=
ot; selected=3D"false"/<br>
><br> &=
nbsp; <mx:Object col1=3D"Col 4.1 Data" c=
ol2=3D"Col 4.2 Data" selected=3D"false"/<br> ><br>&nb=
sp; &=
nbsp; <mx:Object col1=3D"Col 5.1 Data" col2=3D"=
Col 5.2 Data" selected=3D"false"/<br>
><br> &=
nbsp; <mx:Object col1=3D"Col 6.1 Data" c=
ol2=3D"Col 6.2 Data" selected=3D"false"/<br> ><br>&nb=
sp; &=
nbsp; <mx:Object col1=3D"Col 7.1 Data" col2=3D"=
Col 7.2 Data" selected=3D"false"/<br>
><br> &=
nbsp; <mx:Object col1=3D"Col 8.1 Data" c=
ol2=3D"Col 8.2 Data" selected=3D"false"/<br> ><br>&nb=
sp; </mx:dataProvider><br>&nb=
sp; <mx:columns><br> &nb=
sp; &=
nbsp; <mx:DataGridColumn dataField=3D"col1" headerText=3D&=
quot;Col 1"/><br>
&nbs=
p; <mx:DataGridColumn dataField=3D"col2" heade=
rText=3D"Col 2"/><br> =
<mx:DataGridColumn =
dataField=3D"selected" headerText=3D"Selected"><br>&n=
bsp; =
<mx:ite=
mRenderer><br>
&nbs=
p; &n=
bsp; <mx:Component><br> =
&nbs=
p; &n=
bsp; =
<mx:CheckBox selected=3D"{data.selected}"/><br> &=
nbsp;  =
; &nb=
sp; </mx:Component><br> =
&nbs=
p; </mx:itemRenderer><br>
&nbs=
p; </mx:DataGridColumn><br> &n=
bsp; </mx:columns><br> </mx:DataGrid><br> <br> =
<br> Depoimento de um programador Flex:<br> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br> "Eu desenvolvi =
o c=F3digo acima, mas ao execut=E1-lo, toda vez que eu<br>
marco um CheckBox na ultima linha do DataGrid e fa=E7o scroll ele perde<br>=
o estado."<br> <br> Outro programador:<br> =3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D<br> "Eu tamb=E9m j=E1 vi algo parecido, e ao ver o valo=
r dos objetos eu<br> percebi que eles n=E3o estavam sendo atualizados confor=
me eu marcava o<br>
CheckBox."<br> <br> <br> N=E3o se preocupem. Estes s=E3o casos comuns.=
Mas veja como o super<br> "editorDataField" pode resolver o seu p=
roblema:<br> <br> <br> Caso Real (exemplo que funciona):<br> =3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
<mx:DataGrid editable=3D"true"><br> =
<mx:dataProvider><br> &=
nbsp; <m=
x:Object col1=3D"Col 1.1 Data" col2=3D"Col 1.2 Data" sel=
ected=3D"false"/<br> ><br> &=
nbsp; <mx:Object col=
1=3D"Col 2.1 Data" col2=3D"Col 2.2 Data" selected=3D&quo=
t;true"/><br>
&nbs=
p; <mx:Object col1=3D"Col 3.1 Data" col2=3D&qu=
ot;Col 3.2 Data" selected=3D"false"/<br> ><br> =
&nbs=
p; <mx:Object col1=3D"Col 4.1 Data" col2=3D"Col 4.2 D=
ata" selected=3D"false"/<br>
><br> &=
nbsp; <mx:Object col1=3D"Col 5.1 Data" c=
ol2=3D"Col 5.2 Data" selected=3D"false"/<br> ><br>&nb=
sp; &=
nbsp; <mx:Object col1=3D"Col 6.1 Data" col2=3D"=
Col 6.2 Data" selected=3D"false"/<br>
><br> &=
nbsp; <mx:Object col1=3D"Col 7.1 Data" c=
ol2=3D"Col 7.2 Data" selected=3D"false"/<br> ><br>&nb=
sp; &=
nbsp; <mx:Object col1=3D"Col 8.1 Data" col2=3D"=
Col 8.2 Data" selected=3D"false"/<br>
><br> </mx:dataProvide=
r><br> <mx:columns><=
br> &=
nbsp; <mx:DataGridColumn dataField=3D"col1" he=
aderText=3D"Col 1"<br> editable=3D"false"/><br> =
&nbs=
p; <mx:DataGridColumn dataField=3D"col2" headerText=
=3D"Col 2"<br>
editable=3D"false"/><br> &n=
bsp; <mx:DataGridCol=
umn dataField=3D"selected" headerText=3D"Selected"<br>&n=
bsp; =
rendererIs=
Editor=3D"true" editorDataField=3D"selected"><br>
&nbs=
p; <mx:i=
temRenderer><br> &nb=
sp; &=
nbsp; <mx:Component&=
gt;<br> &nb=
sp; &=
nbsp;  =
; <mx:CheckBox selected=3D"{data.selected}"/&g=
t;<br> &nbs=
p; &n=
bsp; </mx:Component><br>
&nbs=
p; </mx:=
itemRenderer><br> &n=
bsp; </mx:DataGridColumn><br> =
</mx:columns><br> </mx:Da=
taGrid><br> <br> Depoimento de um programador Flex:<br> =3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
"Incr=EDvel! Depois de usar o super ultra plus 'editorDataField=
9; os meus<br> problemas acabaram. Agora eu posso fazer scroll a vontade e t=
udo<br> funciona perfeitamente".<br> <br> Outro programador:<br> =3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
"Depois de usar o 'editorDataField' a minha vida mudou complet=
amente.<br> Agora os objetos s=E3o atualizados corretamente e eu n=E3o preci=
so ficar<br> trabalhando at=E9 mais tarde para resolver o meu problema. A mi=
nha<br>
esposa ficou bastante feliz com isso".<br> <br> <br> O "editorDat=
aField" age diretamente no problema porque ele permite<br> informar qua=
l propriedade do "itemRenderer/editor" ser=E1 usada para<br> atual=
izar o item (linha do DataGrid). Sem isso, a propriedade default<br>
ser=E1 usada e uma vez que a propriedade default =E9 "text", se v=
oc=EA<br> estiver usando um ComboBox, RadioButton ou CheckBox isso n=E3o vai=
<br> funcionar. Por isso, quando voc=EA usa um CheckBox, por exemplo, e diz<=
br>
que o "editorDataField" =E9 "selectedItem" o DataGrid p=
egar=E1 o valor<br> desta propriedade para atualizar a propriedade descrita =
pelo<br> "dataField" do seu DataGridColumn.<br> <br> MAS N=C3O =C9=
S=D3 ISSO. Para usar o "editorDataField" com um "itemRendere=
r"<br>
voc=EA deve usar tamb=E9m a propriedade "rendererIsEditor" do seu=
<br> "DataGridColumn".<br> <br> MAS N=C3O =C9 S=D3 ISSO. Para usar=
o "editorDataField" voc=EA precisa usar<br> tamb=E9m a propriedad=
e "editable" do seu DataGrid.<br>
<br> MAS N=C3O =C9 S=D3 ISSO. Uma vez que voc=EA provavelmente n=E3o vai qu=
erer que<br> todas as colunas sejam edit=E1veis voc=EA deve usar tamb=E9m a =
propriedade<br> "editable" de cada DataGridColumn.<br> <br> <br> &=
quot;editorDataField". Ligue para 011 1406 e pe=E7a j=E1 o seu!<br>
<br> ATEN=C7=C3O: Consulte tamb=E9m o manual do fabricante:<br> <a href=3D"=
http://livedocs.adobe.com/labs/flex3/html/help.html?content=3Dcellrenderer_1=
.html">http://livedocs.adobe.com/labs/flex3/html/help.html?content=3Dcellren=
derer_1.html</a><br>
<br> <br> P.S.: Pessoal, desculpem a brincadeira, mas essa foi uma maneira =
que<br> eu encontrei (adicionando um toque de humor) de deixar isto na<br> &=
quot;mem=F3ria" das pessoas uma vez que este =E9 um dos problemas mais<=
br>
recorrentes do Flex que eu j=E1 vi at=E9 hoje.<br> <br><br> <br> <br> On Fe=
b 22, 4:40 pm, HideLine <<a href=3D"mailto:IPra...@gmail.com">IPra...@gma=
il.com</a>> wrote:<br> > Ol=E1,<br> ><br> > Sempre que uso ItemR=
ender em uma DataGrid com componentes de a=E7=E3o,<br>
> tenho problemas em manter o estado, deste componente dentro da<br> >=
; DataGrid.<br> ><br> > Ex:<br> ><br> > <a href=3D"http://forum.=
flexbrasil.com.br/viewtopic.php?f=3D3&t=3D187">http://forum.flexbrasil.c=
om.br/viewtopic.php?f=3D3&t=3D187</a><br>
><br> > Se algu=E9m j=E1 achou uma solu=E7=E3o, por favor post aki e =
l=E1 para o<br> > rdaraujo!<br> ><br> > Obrigado.<br> <br>-- <br>Ma=
rcelo Curi Savioli<br>D-Click Web & Mobile Solutions<br><a href=3D"mailt=
o:marcelo.savi...@dclick.com.br">marcelo.savi...@dclick.com.br</a><br><a hre=
f=3D"http://www.dclick.com.br/blog">www.dclick.com.br/blog</a><br>
<a href=3D"http://www.dclick.com.br">www.dclick.com.br</a>
------=_Part_3845_29790830.1203723238166--