Este es codigo en el fla para llenar el datagrid:
Código ActionScript :
import fl.data.DataProvider;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.controls.*;
import fl.events.*;
grilla.setSize(170, 200);
var seleccion:DataGridColumn = new DataGridColumn("Seleccionado");
grilla.addColumn(seleccion);
seleccion.cellRenderer =cargadorCellRenderer;//asigno el cellrenderer para el checkbox
var nombre:DataGridColumn = new DataGridColumn("Nombre");
grilla.addColumn(nombre);
var datos:Array = [{Nombre: "Freddy", Seleccionado: true},
{Nombre: "Carolina", Seleccionado: true},
{Nombre: "Jaime", Seleccionado: false},
{Nombre: "Marta", Seleccionado: true},
{Nombre: "Alejandra", Seleccionado: false},
{Nombre: "Claire", Seleccionado: true},
{Nombre: "Soledad", Seleccionado: false},
{Nombre: "Daniel", Seleccionado: true},
{Nombre: "Juan", Seleccionado: true},
{Nombre: "Javier", Seleccionado: false},
{Nombre: "Rosa", Seleccionado: true},
{Nombre: "Maria", Seleccionado: false},
{Nombre: "Gabriel", Seleccionado: true}
];
grilla.dataProvider = new DataProvider(datos);Este es codigo de la clase cargadorCellRenderer para el checkbox:
Código ActionScript :
package
{
import fl.controls.CheckBox;
import flash.events.MouseEvent;
import fl.controls.listClasses.ListData;
import fl.controls.listClasses.ICellRenderer;
import fl.controls.DataGrid;
public class cargadorCellRenderer extends CheckBox implements ICellRenderer
{
protected var _data:Object;
protected var _listData:ListData;
public static var _stage;
public function cargadorCellRendere()
{
super();
label = "";
addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(MouseEvent):void
{
_selected = ! _selected;
_data.Seleccionado = _selected;
}
public function get data():Object
{
return _data;
}
public function set data(value:Object):void
{
_data = value;
_selected = _data.Seleccionado;
}
public function get listData():ListData
{
return _listData;
}
public function set listData(value:ListData):void
{
_listData = value;
}
override public function get selected():Boolean
{
return _selected;
}
override public function set selected(value:Boolean):void
{
}
}
}Espero alguíen me pueda ayudar, la idea es que al mover el scroll vertical del datagrid, los checkboxs mantengan su estado y no se alteren aleatoriamente. Gracias
