You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@flex.apache.org by mark goldin <ma...@gmail.com> on 2013/07/22 23:25:37 UTC

Spark DataGrid with combobox

I have a column with combobox as an item renderer. The combo has a simple
dataProvider like Yes, No. When I scroll the grid values in combos are
changing. Here is relative code from my renderer, simplified:
override public function set data(value:Object):void
{
super.data = value;
if (data)
{
answer.dataProvider = externaldataprovider;

for (var i:Number = 0; i < answer.dataProvider.length; i++)
{
var obj:Object = Object(answer.dataProvider[i])
if (obj["CodeValue"] == data.Answer)
{
answer.selectedIndex = i;
break;
}
}
}
}
}

Thanks

Re: Spark DataGrid with combobox

Posted by mark goldin <ma...@gmail.com>.
Looks like it does not work when I refresh DataGrid's DataProvider
dataProvider as ArrayCollection.refresh();


On Mon, Jul 22, 2013 at 5:51 PM, Michael Baird <mb...@kairyt.com> wrote:

> If you don't clear the provider as Lee suggests, you could also set the
> selected index to -1 or whatever your default option is.
>
> If you're extending GridItemRenderer, it's recommended to also use override
> *prepare()* instead of *set data* for performance reasons.
>
>
> On Mon, Jul 22, 2013 at 3:43 PM, Lee Burrows
> <su...@leeburrows.com>wrote:
>
> > could the issue be related to not clearing your renderer of its previous
> > values when data=null?
> >
> > eg:
> >
> > if (data)
> >    //your code
> > else
> >     answer.dataProvider = null;
> >
> >
> >
> >
> > On 22/07/2013 22:25, mark goldin wrote:
> >
> >> I have a column with combobox as an item renderer. The combo has a
> simple
> >> dataProvider like Yes, No. When I scroll the grid values in combos are
> >> changing. Here is relative code from my renderer, simplified:
> >> override public function set data(value:Object):void
> >> {
> >> super.data = value;
> >> if (data)
> >> {
> >> answer.dataProvider = externaldataprovider;
> >>
> >> for (var i:Number = 0; i < answer.dataProvider.length; i++)
> >> {
> >> var obj:Object = Object(answer.dataProvider[i])
> >> if (obj["CodeValue"] == data.Answer)
> >> {
> >> answer.selectedIndex = i;
> >> break;
> >> }
> >> }
> >> }
> >> }
> >> }
> >>
> >> Thanks
> >>
> >>
> >
> > --
> > Lee Burrows
> > ActionScripter
> >
> >
>

Re: Spark DataGrid with combobox

Posted by Michael Baird <mb...@kairyt.com>.
If you don't clear the provider as Lee suggests, you could also set the
selected index to -1 or whatever your default option is.

If you're extending GridItemRenderer, it's recommended to also use override
*prepare()* instead of *set data* for performance reasons.


On Mon, Jul 22, 2013 at 3:43 PM, Lee Burrows
<su...@leeburrows.com>wrote:

> could the issue be related to not clearing your renderer of its previous
> values when data=null?
>
> eg:
>
> if (data)
>    //your code
> else
>     answer.dataProvider = null;
>
>
>
>
> On 22/07/2013 22:25, mark goldin wrote:
>
>> I have a column with combobox as an item renderer. The combo has a simple
>> dataProvider like Yes, No. When I scroll the grid values in combos are
>> changing. Here is relative code from my renderer, simplified:
>> override public function set data(value:Object):void
>> {
>> super.data = value;
>> if (data)
>> {
>> answer.dataProvider = externaldataprovider;
>>
>> for (var i:Number = 0; i < answer.dataProvider.length; i++)
>> {
>> var obj:Object = Object(answer.dataProvider[i])
>> if (obj["CodeValue"] == data.Answer)
>> {
>> answer.selectedIndex = i;
>> break;
>> }
>> }
>> }
>> }
>> }
>>
>> Thanks
>>
>>
>
> --
> Lee Burrows
> ActionScripter
>
>

Re: Spark DataGrid with combobox

Posted by Lee Burrows <su...@leeburrows.com>.
could the issue be related to not clearing your renderer of its previous 
values when data=null?

eg:

if (data)
    //your code
else
     answer.dataProvider = null;



On 22/07/2013 22:25, mark goldin wrote:
> I have a column with combobox as an item renderer. The combo has a simple
> dataProvider like Yes, No. When I scroll the grid values in combos are
> changing. Here is relative code from my renderer, simplified:
> override public function set data(value:Object):void
> {
> super.data = value;
> if (data)
> {
> answer.dataProvider = externaldataprovider;
>
> for (var i:Number = 0; i < answer.dataProvider.length; i++)
> {
> var obj:Object = Object(answer.dataProvider[i])
> if (obj["CodeValue"] == data.Answer)
> {
> answer.selectedIndex = i;
> break;
> }
> }
> }
> }
> }
>
> Thanks
>


-- 
Lee Burrows
ActionScripter