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

Fabio Terracini <li...@terracini.com>

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.

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

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

> Grato,
> Fábio