O grupo no qual você está postando é um grupo da Usenet. As mensagens postadas neste grupo farão com que o seu e-mail fique visível para qualquer pessoa na internet.
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.
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">
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.
Quando o datagrid é criado, mesmo que o dataprovider dele tenha mais ítens do que a quantidade de linhas que são mostradas no DataGrid, as novas linhas nunca são criadas. Isto é, se o seu dataprovider tiver 200 ítens, o seu datagrid terá apenas 20 linhas, e quando você efetuar o scroll, novas linhas *não* serão criadas, e sim apenas o valor delas que irá alterar.
Assim, quando fazemos o scroll esses valores podem se perder. Para você resolver esse problema você deve sobrescrever o método set data() (oriundo da interface IDataRenderer) em seu itemRenderer e manualmente reassinalar o selectedIndex em seu ComboBox. Esse método é disparado toda vez que o componente for renderizado - e ele é renderizado novamente quando você faz o scroll no DataGrid pois seu valor irá mudar.
A propósito, veja a mensagem do Beck; creio que o itemEditor seria mais apropriado nesse caso - até porque, se não me engano, ele lida com esse "problema" automaticamente (ele foi feito para isso).
[]s Fabio Terracini
On 1/31/07, 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.
A minha primeira solução era sobreescrever o "set data" definindo o selectedIndex ou até mesmo o selectedItem, mas não funcionou. I don't know why!
[]'s Beck Novaes
On 1 fev, 13:08, "Fabio Terracini" <l...@terracini.com> wrote:
> Xará,
> Quando o datagrid é criado, mesmo que o dataprovider dele tenha mais > ítens do que a quantidade de linhas que são mostradas no DataGrid, as > novas linhas nunca são criadas. Isto é, se o seu dataprovider tiver > 200 ítens, o seu datagrid terá apenas 20 linhas, e quando você efetuar > o scroll, novas linhas *não* serão criadas, e sim apenas o valor delas > que irá alterar.
> Assim, quando fazemos o scroll esses valores podem se perder. Para > você resolver esse problema você deve sobrescrever o método set data() > (oriundo da interface IDataRenderer) em seu itemRenderer e manualmente > reassinalar o selectedIndex em seu ComboBox. Esse método é disparado > toda vez que o componente for renderizado - e ele é renderizado > novamente quando você faz o scroll no DataGrid pois seu valor irá > mudar.
> A propósito, veja a mensagem do Beck; creio que o itemEditor seria > mais apropriado nesse caso - até porque, se não me engano, ele lida > com esse "problema" automaticamente (ele foi feito para isso).
> []s > Fabio Terracini
> On 1/31/07, 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.
O que resolveu foi o selected="{data.selected}". Não sei se vai resolver no seu caso.
Eric Cavalcanti
On 31 jan, 21: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.