Ir para a pagina inicial dos Grupos do Google    flexdev
Re: ComboBox em Datagrid + barra de rolagem.

Beck Novaes <beck.nov...@gmail.com>

Olá Fábio, tudo bem?

No Flex 2.0 nós temos os itemRenderers e os itemEditors. O primeiro
apenas apresenta a informação e o segundo permite mudá-la. Pelas
informações que você sugeriu suponho que você esteja querendo usar um
itemRenderer como itemEditor. Neste caso algumas "regras" devem ser
seguidas:

1. O seu dataGrid deve ter a propriedade editable=true
2. A sua coluna que tem o combo deve ter a propriedade
rendererIsEditor=true
3. A sua coluna que tem o combo deve ter a propriedade editorDataField
definida
4. O seu itemRenderer deve prover uma forma de configurar a
propriedade informada no editorDataField

Veja o exemplo:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical">

        <mx:Array id="col3Data">
                <mx:String>col1.3.1</mx:String>
                <mx:String>col1.3.2</mx:String>
                <mx:String>col1.3.3</mx:String>
        </mx:Array>

        <mx:DataGrid editable="true">

                <mx:dataProvider>
                        <mx:Object col1="col1.1" col2="col1.2" col3="{col3Data}"/>
                        <mx:Object col1="col2.1" col2="col2.2" col3="{col3Data}"/>
                        <mx:Object col1="col3.1" col2="col3.2" col3="{col3Data}"/>
                        <mx:Object col1="col4.1" col2="col4.2" col3="{col3Data}"/>
                        <mx:Object col1="col5.1" col2="col5.2" col3="{col3Data}"/>
                        <mx:Object col1="col6.1" col2="col6.2" col3="{col3Data}"/>
                        <mx:Object col1="col7.1" col2="col7.2" col3="{col3Data}"/>
                        <mx:Object col1="col8.1" col2="col8.2" col3="{col3Data}"/>
                        <mx:Object col1="col9.1" col2="col9.2" col3="{col3Data}"/>
                        <mx:Object col1="col10.1" col2="col10.2" col3="{col3Data}"/>
                </mx:dataProvider>

                <mx:columns>
                        <mx:DataGridColumn dataField="col1"/>
                        <mx:DataGridColumn dataField="col2"/>
                        <mx:DataGridColumn dataField="col3" rendererIsEditor="true"
editorDataField="selectedItem">
                                <mx:itemRenderer>
                                        <mx:Component>
                                                <mx:Canvas>
                                                        <mx:Script>
                                                                <![CDATA[
                                                                        [Bindable]
                                                                        public var selectedItem:Object;
                                                                ]]>
                                                        </mx:Script>
                                                        <mx:ComboBox id="cb" dataProvider="{data.col3}"
                                                                change="selectedItem=cb.selectedItem"/>
                                                </mx:Canvas>
                                        </mx:Component>
                                </mx:itemRenderer>
                        </mx:DataGridColumn>
                </mx:columns>

        </mx:DataGrid>

</mx:Application>

Espero ter ajudado!

[]'s
Beck Novaes

On 31 jan, 16:16, "Fabio Goll" <guriz...@gmail.com> wrote:

> Pessoal, tenho um datagrid c/ 2 itemRenderes que são comboBox.

> Acontece que quando o Datagrid está com rolando e eu rolo ela, os
> selectedIndex dos combos
> se perdem totalmente, ficam trocando de valores aleatoriamente.

> Alguém tem idéia do que possa ser?

> Talvez seja um "bug" do programador aki....rs

> Grato,
> Fábio