CheckBox itemrenderer in datagrid got selected/unselected while scrollling in FLEX -


in application having datagrid created dynamically. each , every cell in datagrid, having checkbox itemrenderer. of working fine expected.but while scrolling vertically checkboxes getting selected/unselected automatically.i got same problem in "horizontal scrolling" also, resolved setting "minwidth" each columns.

i creating datagrid this,

for(i=0;i<recordcount;i++)             {                    var obj:object = new object();                 for(var j:int=0;j<maxpages;j++){                      {                         obj["page"+(j+1)]=((xml..item.(pageorder==(j+1))).length()>i)?(xml..item.(pageorder==(j+1)))[i].pagetempverid[0].tostring()+" ("+(xml..item.(pageorder==(j+1)))[i].pageverusername[0].tostring()+")":"";                      }                  }                 dp.additem(obj);             }  for(i=0;i<maxpages;i++)             {                 var printpdfitemrenderer:classfactory = new classfactory(printpdfcheckboxcomponent)                 printpdfitemrenderer.properties = {onclick: printpdfchkid_clickhandler};                 var grid:datagridcolumn = new datagridcolumn();                 grid.itemrenderer = printpdfitemrenderer;                 grid.headertext = pagename[i];                 grid.width = 150;                 grid.minwidth = 150;                 grid.datafield = "page" + (i+1);                 if(recordcount<(xml..item.(pageorder==(i+1))).length())                     recordcount = (xml..item.(pageorder==(i+1))).length()                 col.push(grid);             }             printpdfdg.columns = col;   <mx:datagrid id="printpdfdg" width="100%" height="380"                      textalign="center"  dataprovider="{dp}" sortablecolumns="false" horizontalscrollpolicy="off" verticalscrollpolicy="auto" rowheight="40" horizontalcenter="0" variablerowheight="false">         </mx:datagrid> 

in itemrenderer mxml file

<mx:checkbox id="printpdfchkid" label="{data[datagridlistdata(listdata).datafield]}"              selected="{data.data[datagridlistdata(listdata).datafield]}" labelplacement="right" labelverticaloffset="0"               click="onclick(event)" /> 

so can found doing wrong

i had same experience. solve problem add boolean property in object , try follow given code in item renderer.

private var _obj:object;  public function obj():object         {             return _obj;         }          public function set obj(value:object):void         {             _obj = value;         } override public function set data(value:object) : void         {             this.itemcheckbox.label = value.name;             this.itemcheckbox.selected = value.isselected;             obj = value;           } //check box change event handler protected function itemcheckbox_changehandler(event:event):void         {             obj.isselected = itemcheckbox.selected;         } 

Comments

Popular posts from this blog

c# - How to get the current UAC mode -

postgresql - Lazarus + Postgres: incomplete startup packet -