2,275
社区成员
发帖
与我相关
我的任务
分享
package
{
import flash.display.Sprite;
import flash.display.Shape;
import flash.events.Event;
import flash.text.TextField;
import fl.data.DataProvider;
import fl.controls.Label;
import fl.controls.ScrollBarDirection;
import flash.display.Bitmap;
import fl.controls.CheckBox;
import fl.controls.DataGrid;
import fl.controls.ScrollPolicy;
import fl.data.DataProvider;
import flashx.textLayout.container.ColumnState;
import flash.events.MouseEvent;
import flash.utils.setTimeout;
public class DataGridExample extends Sprite
{
public function DataGridExample()
{
}
public function setfilelistdata(w:int=0,h:int=0,imgadatalistarry:Array=null):void
{
createDataGrid(w,h,imgadatalistarry);
}
private var dg:DataGrid = new DataGrid();
private var dp:DataProvider= new DataProvider();
public function createDataGrid(w:int,h:int,imgdataarry:Array):void
{
if (dg != null && dg.parent != null)
{
dg.parent.removeChild(dg);
dg = null;
}
var i:uint;
for (i = 0; i < imgdataarry.length; i++)
{
//这里一个数组
dp.addItem({selete:i,data:Bitmap(imgdataarry[i].imgbit),GPS:imgdataarry[i].gps,"时间":imgdataarry[i].rsDateTime});
}
dg.setSize(w,h);
dg.columns = ["选择","图片","GPS","时间"];
dg.dataProvider = dp;
dg.move(5,30);
dg.rowHeight = 140;
dg.getColumnAt(0).width = 40;
dg.getColumnAt(1).width = 200;
dg.getColumnAt(2).width = 200;
dg.resizableColumns=false;
dg.getColumnAt(0).cellRenderer = CheckBoxRenderer;
dg.addEventListener(Event.CHANGE,onCheckChange);
addChild(dg);
}
private var CheckBoxclass:CheckBoxRenderer;
public function onCheckChange(e:Event):void
{
if(CheckBoxclass==null)
CheckBoxclass=new CheckBoxRenderer();
CheckBoxclass.onCheckChange();
}
}
}
CheckBoxRenderer.as
package
{
import fl.controls.CheckBox;
import fl.controls.listClasses.ICellRenderer;
import fl.controls.listClasses.ListData;
import flash.events.Event;
import fl.core.InvalidationType;
public class CheckBoxRenderer extends CheckBox implements ICellRenderer
{
public var _listData:ListData;
public var _data:Object;
public function CheckBoxRenderer(){
// super();
// addEventListener(Event.CHANGE,onCheckChange);
}
public function set data(d:Object):void{
_data = d;
label = "";
_selected = (_data["checked"]=='true')?true:false;
}
public function get data():Object {
return _data;
}
public function get selectedItem():Object {
return _data;
}
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 {
}
private var DataGridcheckstrin:DataGridExample;
//e:Event
public function onCheckChange() {
trace("因不行我就考虑到从DataGridExample直接执行它可如下会报错");
_selected = !_selected;
this["checked"]=(_selected==true)?'true':'false';
//_data["checked"] = (_selected==true)?'true':'false';
//if(DataGridcheckstrin==null){
//DataGridcheckstrin=new DataGridExample();
//}
//DataGridcheckstrin.rseonCheckChange((_selected==true)?'true':'false');
}
}
}