麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Flex > 正文

Flex動態生成可編輯的DataGrid具體實現代碼

2024-09-08 18:17:16
字體:
來源:轉載
供稿:網友
一:先說說我寫這個DataGrid具有的功能
1、表頭是動態生成的。
2、每行都是有序號的。
3、每行都是可以編輯、插入、刪除、修改的。
4、每個單元格都是加驗證的。
5、單元格有些是經過渲染生成的比如:Combobox,DateField...

二、說一些實現這些功能的困難
寫這個的時候感覺都是困難不知道,走過來了也就木有神馬啦,最讓我費勁的就是渲染例如:Combobox在渲染的時候不能用ItemRenderer因為他不能綁定值,只能用ItemEditor但是怎樣獲得這個一個經過渲染的對象,通過百度不斷地百度,終于發現了ClassFactory這個工廠可以生產各種想要的組件。各種困難現在都記不起來了,三天時間終于完成啦。為什嗎要這樣寫呢?因為要做數據更新系統,每年數據都會有變化,這樣頁面也需要變化,總不能每年都去改源碼吧,不如想個法子全給他整成動態的。這就是寫這個的初衷。

三、關鍵源碼
復制代碼 代碼如下:

package datagridview
{
import com.adobe.serialization.json.JSON;
import com.jzh.test.ComboxColumn;
import com.jzh.test.ComboxItem;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.controls.ComboBase;
import mx.controls.ComboBox;
import mx.controls.DateField;
import mx.controls.RadioButtonGroup;
import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
import mx.core.ClassFactory;
import mx.validators.RegExpValidator;
import spark.components.DropDownList;
public class RendererUtil
{
public function RendererUtil()
{
}
public static function getButtonRenderer():ClassFactory{
var f:ClassFactory=new ClassFactory(OperateButtons);
f.properties={};
return f;
}
public static function getNumRenderer():ClassFactory{
var f:ClassFactory=new ClassFactory(numLabel);
f.properties={};
return f;
}
public static function getComboxRenderer(arr:ArrayCollection,label:String):ClassFactory{
//應該在這里查詢數據庫
var f:ClassFactory=new ClassFactory(ComboBox);
f.properties={dataProvider: arr,labelField:label,selectedIndex:'0',selectedItem:'石質路面'};//添加屬性,綁定選擇狀態
return f;
}
public static function getRadioRenderer(label:String):ClassFactory{
var f:ClassFactory=new ClassFactory(ComboBox);
var arr:ArrayCollection=new ArrayCollection();
arr.addItem("是");
arr.addItem("否");
f.properties={dataProvider: arr,labelField:label,selectedIndex:'0',selectedItem:'否'};//添加屬性,綁定選擇狀態
return f;
}
public static function getDateRenderer():ClassFactory{
var f:ClassFactory=new ClassFactory(DateField);
f.properties={formatString:"YYYY-MM-DD",showToday:true};//添加屬性,綁定選擇狀態
return f;
}
/*本來想在這渲染生成驗證器的,無奈技術在達不到*/
public static function getValidateRenderer():ClassFactory{
var f:ClassFactory=new ClassFactory(RegExpValidator);
f.properties={ source:"roadcode",
property:"text" ,
expression:"^[0-9]*$",
noMatchError:"填寫驗證不通過時顯示他提示信息" };//添加屬性,綁定選擇狀態
return f;
}
/*測試用*/
public static function getRenderer(label:String,callback:Function=null):ClassFactory{
var f:ClassFactory=new ClassFactory(numLabel);
f.properties={lab:label,callback:callback};
return f;
}
}
}

以上代碼是渲染器部分。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 九九热九九爱 | 在线视频 亚洲 | 5xx免费看| 亚洲3p激情在线观看 | 国产精品一区网站 | 欧美成人精品h版在线观看 国产一级淫片在线观看 | 性看小视频 | 国产精品99久久99久久久二 | 草久影视| 羞羞视频入口 | 国产 日韩 一区 | 欧美在线观看黄色 | 日韩视频―中文字幕 | 欧美精品18| h视频在线免费观看 | 视频一区二区久久 | 精品久久久久久成人av | 中文日韩欧美 | 欧美一级鲁丝片免费看 | 国产成人在线观看免费网站 | 九九午夜| 毛片视频网址 | 国产999在线 | 久久精品女人天堂av | 亚洲精华液久久含羞草 | 老司机免费福利午夜入口ae58 | gogo全球大胆高清人露出91 | 黄色免费在线网站 | 免费观看高清视频网站 | 久久久国产精品免费观看 | 国内精品伊人久久久久网站 | 亚洲一区 国产 | 91成人天堂久久成人 | 在线a毛片免费视频观看 | 91短视频版高清在线观看免费 | 在线观看中文字幕av | 国产亚洲精品久久久久久久久 | 欧美一级黄色片在线观看 | 国产1区2区在线观看 | 午夜在线视频一区二区三区 | 欧美国产日韩在线 |