Acontece exatamente a mesma coisa. O problema está em acessar meu
dataGridTask.
Quando eu coloco alguma string dentro do evento, funciona: new
ProgramScheduleEvent("*alguma string...*"), mas quando eu coloco new
ProgramScheduleEvent(taskList.getItemAt(dataGridTask.selectedIndex).nome) eu
recebo erro de compilação.
Depois da sugestão com Slider ficou assim:
<mx:DataGrid id="dataGridTask" x="10" y="10" width="782.5" height="268"
dataProvider="{taskList}">
<mx:columns>
<mx:DataGridColumn headerText="Descrição "
dataField="description"/>
<mx:DataGridColumn headerText="Tarefa Agendada"
id="taskSchedule" dataField="taskGroupVO.description"/>
<mx:DataGridColumn headerText="Cadastrado em "
dataField="register" labelFunction="formatDate"/>
<mx:DataGridColumn headerText="Editar "
textAlign="center">
<mx:itemRenderer>
<mx:Component>
<mx:HBox horizontalAlign="center">
<mx:Script>
<![CDATA[
import
br.com.sumus.coyote.program.events.ProgramScheduleEvent;
private function
enviarValor(event:ProgramScheduleEvent):void {
outerDocument.popupEditProgramSchedule.valor2 = event.valor;
outerDocument.showEditProgramSchedule();
}
]]>
</mx:Script>
<mx:Image id="documentImage"
source="../images/document.gif" height="100%">
<mx:click>
<![CDATA[
dispatchEvent(*new
ProgramScheduleEvent(taskList.getItemAt(dataGridTask.selectedIndex).nome)*);
]]>
</mx:click>
</mx:Image>
</mx:HBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
Alguém conhece alguma forma de acessar esse cara?
2010/5/31 Sérgio Fantin <[email protected]>
> Obrigado, Davidson!
>
>
> 2010/5/31 デビデソヌ Davidson Silva <[email protected]>
>
> Using a Slider control as a DataGrid column item renderer in Flex
>>
>> by Peter deHaan on May 9, 2008
>>
>> in DataGrid <http://blog.flexexamples.com/category/halo/datagrid/>,
>> HSlider <http://blog.flexexamples.com/category/halo/hslider/>
>>
>> The following example shows how you can use an HSlider control as an item
>> renderer in a Flex DataGrid control.
>>
>> Full code after the jump.
>>
>> View
>> MXML<http://blog.flexexamples.com/wp-content/uploads/DataGridColumn_itemRenderer_HSlider_test/bin/srcview/source/main.mxml.html>
>>
>> <?xml version="1.0" encoding="utf-8"?>
>> <!--
>> http://blog.flexexamples.com/2008/05/09/using-a-slider-control-as-a-datagrid-column-item-renderer-in-flex/
>> -->
>>
>>
>> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
>> layout="vertical"
>> verticalAlign="middle"
>> backgroundColor="white">
>>
>>
>> <mx:ArrayCollection id="arrColl">
>> <mx:source>
>> <mx:Array>
>> <mx:Object label="Student A" score="85" />
>> <mx:Object label="Student B" score="48" />
>>
>>
>> <mx:Object label="Student C" score="71" />
>> <mx:Object label="Student D" score="88" />
>> <mx:Object label="Student E" score="24" />
>>
>>
>> <mx:Object label="Student F" score="64" />
>> <mx:Object label="Student G" score="76" />
>> <mx:Object label="Student H" score="76" />
>>
>>
>> <mx:Object label="Student I" score="93" />
>> <mx:Object label="Student J" score="88" />
>> <mx:Object label="Student K" score="48" />
>>
>>
>> <mx:Object label="Student L" score="76" />
>> </mx:Array>
>> </mx:source>
>> </mx:ArrayCollection>
>>
>> <mx:DataGrid id="dataGrid"
>>
>>
>> dataProvider="{arrColl}"
>> selectable="false"
>> rowCount="6"
>> width="500">
>> <mx:columns>
>> <mx:DataGridColumn dataField="label" />
>>
>>
>> <mx:DataGridColumn dataField="score" />
>> <mx:DataGridColumn dataField="score">
>> <mx:itemRenderer>
>> <mx:Component>
>>
>>
>> <mx:HBox horizontalScrollPolicy="off"
>> verticalScrollPolicy="off">
>> <mx:Script>
>> <![CDATA[
>>
>>
>> import mx.events.SliderEvent;
>>
>> private function
>> slider_change(evt:SliderEvent):void {
>> data.score = evt.value;
>>
>>
>> outerDocument.arrColl.refresh();
>> }
>> ]]>
>> </mx:Script>
>>
>> <mx:HSlider minimum="0"
>>
>>
>> maximum="100"
>> value="{data.score}"
>> liveDragging="true"
>> snapInterval="1"
>>
>>
>> width="100%"
>> change="slider_change(event);" />
>>
>> </mx:HBox>
>> </mx:Component>
>>
>>
>> </mx:itemRenderer>
>> </mx:DataGridColumn>
>> </mx:columns>
>> </mx:DataGrid>
>>
>> </mx:Application>
>>
>>
>>
>> Em 31 de maio de 2010 10:18, Sérgio Fantin
>> <[email protected]>escreveu:
>>
>>> Parece que tá fora o blog... tá conseguindo acessar?
>>>
>>> 2010/5/31 Victor Hugo <[email protected]>
>>>
>>> Sergio da uma olhada nesse link aqui
>>>>
>>>>
>>>> http://blog.flexexamples.com/2008/05/09/using-a-slider-control-as-a-datagrid-column-item-renderer-in-flex/#more-623
>>>>
>>>> é basicamente oque tu tas tentando fazer.
>>>>
>>>> abraço!
>>>>
>>>> On 31 maio, 09:40, Sérgio Fantin <[email protected]> wrote:
>>>> > Agora eu peguei dois erros:
>>>> >
>>>> > *1120: Access of undefined property taskList.
>>>> >
>>>> > 1120: Access of undefined property dataGridTask.
>>>> > *
>>>> > <mx:DataGrid id="dataGridTask" x="10" y="10" width="782.5"
>>>> height="268"
>>>> > dataProvider="{taskList}">
>>>> > <mx:columns>
>>>> > <mx:DataGridColumn headerText="Descrição "
>>>> > dataField="description"/>
>>>> > <mx:DataGridColumn headerText="Tarefa Agendada"
>>>> > id="taskSchedule" dataField="taskGroupVO.description"/>
>>>> > <mx:DataGridColumn headerText="Cadastrado em "
>>>> > dataField="register" labelFunction="formatDate"/>
>>>> > <mx:DataGridColumn headerText="Editar "
>>>> > textAlign="center">
>>>> > <mx:itemRenderer>
>>>> > <mx:Component>
>>>> > <mx:HBox horizontalAlign="center">
>>>> > <mx:Image id="documentImage"
>>>> > source="../images/document.gif" height="100%">
>>>> > <mx:click>
>>>> > <![CDATA[
>>>> > import
>>>> > br.com.sumus.coyote.program.events.ProgramScheduleEvent;
>>>> >
>>>> > dispatchEvent(new
>>>> >
>>>> ProgramScheduleEvent(taskList.getItemAt(dataGridTask.selectedIndex).nome));
>>>> > ]]>
>>>> > </mx:click>
>>>> > </mx:Image>
>>>> > </mx:HBox>
>>>> > </mx:Component>
>>>> > </mx:itemRenderer>
>>>> > ...
>>>> >
>>>> > Quando eu tento usar o autocomplete no dataGridTask ele não funciona.
>>>> De
>>>> > fato ele não está sendo encontrado. :(
>>>> >
>>>> > 2010/5/31 Victor Hugo <[email protected]>
>>>> >
>>>> >
>>>> >
>>>> > > Tenta fazer assim.
>>>> >
>>>> > > taskList.getItemAt(datagridTask.selectedIndex).nome
>>>> >
>>>> > > pra ver oque dá
>>>> >
>>>> > > abraço
>>>> >
>>>> > > On 31 maio, 09:19, Sérgio Fantin <[email protected]>
>>>> wrote:
>>>> > > > Olá pessoal,
>>>> >
>>>> > > > preciso enviar o valor de um item do dataGrid. Quando eu envio uma
>>>> String
>>>> > > > literal(dispatchEvent(new ProgramScheduleEvent("literal"));) eu
>>>> consigo,
>>>> > > mas
>>>> > > > quando eu coloco dataGridTask.selectedItem.nome eu recebo um erro
>>>> de
>>>> > > > compilação: *1120: Access of undefined property dataGridTask.*
>>>> > > > Existe uma forma de acessar esse cara?
>>>> >
>>>> > > > <mx:DataGrid id="dataGridTask" x="10" y="10"
>>>> width="782.5"
>>>> > > > height="268" dataProvider="{taskList}">
>>>> > > > <mx:columns>
>>>> > > > <mx:DataGridColumn headerText="Descrição "
>>>> > > > dataField="description"/>
>>>> > > > <mx:DataGridColumn headerText="Tarefa
>>>> Agendada"
>>>> > > > id="taskSchedule" dataField="taskGroupVO.description"/>
>>>> > > > <mx:DataGridColumn headerText="Cadastrado em "
>>>> > > > dataField="register" labelFunction="formatDate"/>
>>>> > > > <mx:DataGridColumn headerText="Editar "
>>>> > > > textAlign="center">
>>>> > > > <mx:itemRenderer>
>>>> > > > <mx:Component>
>>>> > > > <mx:HBox horizontalAlign="center">
>>>> > > > <mx:Image id="documentImage"
>>>> > > > source="../images/document.gif" height="100%">
>>>> > > > <mx:click>
>>>> > > > <![CDATA[
>>>> > > > import
>>>> > > > br.com.sumus.coyote.program.events.ProgramScheduleEvent;
>>>> > > >
>>>> *dispatchEvent(new
>>>> > > > ProgramScheduleEvent(dataGridTask.selectedItem.nome));*
>>>> > > > ]]>
>>>> > > > </mx:click>
>>>> > > > </mx:Image>
>>>> > > > </mx:HBox>
>>>> > > > </mx:Component>
>>>> > > > </mx:itemRenderer>
>>>> > > > </mx:DataGridColumn>
>>>> >
>>>> > > > Obrigado!
>>>> >
>>>> > > > --
>>>> > > > Sérgio Fantinhttp://serjaum.wordpress.com
>>>> >
>>>> > > --
>>>> > > Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>> > > Para enviar uma mensagem, envie um e-mail para
>>>> [email protected]
>>>> > > Para sair da lista, envie um email em branco para
>>>> > > [email protected]
>>>> > > Mais opções estão disponíveis emhttp://
>>>> groups.google.com/group/flexdev
>>>> >
>>>> > --
>>>> > Sérgio Fantinhttp://serjaum.wordpress.com
>>>>
>>>> --
>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>> Para enviar uma mensagem, envie um e-mail para [email protected]
>>>> Para sair da lista, envie um email em branco para
>>>> [email protected]
>>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>>>
>>>
>>>
>>>
>>> --
>>> Sérgio Fantin
>>>
>>> http://serjaum.wordpress.com
>>>
>>> --
>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>> Para enviar uma mensagem, envie um e-mail para [email protected]
>>> Para sair da lista, envie um email em branco para
>>> [email protected]
>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>>
>>
>> --
>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> Para enviar uma mensagem, envie um e-mail para [email protected]
>> Para sair da lista, envie um email em branco para
>> [email protected]
>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>
>
>
>
> --
> Sérgio Fantin
> http://serjaum.wordpress.com
>
--
Sérgio Fantin
http://serjaum.wordpress.com
--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev