濮阳杆衣贸易有限公司

主頁 > 知識庫 > Flex動態(tài)生成可編輯的DataGrid具體實現(xiàn)代碼

Flex動態(tài)生成可編輯的DataGrid具體實現(xiàn)代碼

熱門標簽:天津企業(yè)外呼系統(tǒng)代理商 無錫電銷外呼系統(tǒng)代理 地圖標注多家店 廣州ai外呼系統(tǒng)業(yè)務 中山外呼系統(tǒng)中間件 南昌crm外呼系統(tǒng)如何 外呼系統(tǒng)號碼顯示 車載電話機器人 什么行業(yè)需要電話機器人
一:先說說我寫這個DataGrid具有的功能
1、表頭是動態(tài)生成的。
2、每行都是有序號的。
3、每行都是可以編輯、插入、刪除、修改的。
4、每個單元格都是加驗證的。
5、單元格有些是經(jīng)過渲染生成的比如:Combobox,DateField...

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

三、關(guān)鍵源碼
復制代碼 代碼如下:

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{
//應該在這里查詢數(shù)據(jù)庫
var f:ClassFactory=new ClassFactory(ComboBox);
f.properties={dataProvider: arr,labelField:label,selectedIndex:'0',selectedItem:'石質(zhì)路面'};//添加屬性,綁定選擇狀態(tài)
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:'否'};//添加屬性,綁定選擇狀態(tài)
return f;
}
public static function getDateRenderer():ClassFactory{
var f:ClassFactory=new ClassFactory(DateField);
f.properties={formatString:"YYYY-MM-DD",showToday:true};//添加屬性,綁定選擇狀態(tài)
return f;
}
/*本來想在這渲染生成驗證器的,無奈技術(shù)在達不到*/
public static function getValidateRenderer():ClassFactory{
var f:ClassFactory=new ClassFactory(RegExpValidator);
f.properties={ source:"roadcode",
property:"text" ,
expression:"^[0-9]*$",
noMatchError:"填寫驗證不通過時顯示他提示信息" };//添加屬性,綁定選擇狀態(tài)
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;
}
}
}

以上代碼是渲染器部分。
您可能感興趣的文章:
  • Flex3 DataGrid拖拽到ClumnChart動態(tài)顯示圖表實現(xiàn)代碼
  • Flex DataGrid DataGridColumn數(shù)據(jù)顏色多樣化-類型替換
  • Flex中讓鼠標移至AdvancedDataGrid的行上不自動修改顯示效果

標簽:佛山 欽州 滄州 海西 泰州 攀枝花 仙桃 呂梁

巨人網(wǎng)絡通訊聲明:本文標題《Flex動態(tài)生成可編輯的DataGrid具體實現(xiàn)代碼》,本文關(guān)鍵詞  Flex,動態(tài),生成,可,編輯,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Flex動態(tài)生成可編輯的DataGrid具體實現(xiàn)代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于Flex動態(tài)生成可編輯的DataGrid具體實現(xiàn)代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    哈尔滨市| 抚远县| 那坡县| 柳河县| 常州市| 克山县| 伊宁市| 绥阳县| 绥化市| 长治县| 叶城县| 福州市| 德惠市| 郑州市| 东乌| 桐柏县| 萨嘎县| 黔江区| 琼中| 静海县| 乌拉特中旗| 阿拉尔市| 永嘉县| 宁安市| 黔西县| 凤庆县| 大丰市| 潮安县| 长沙市| 罗定市| 莆田市| 金塔县| 崇州市| 嵊泗县| 米林县| 井研县| 松溪县| 保定市| 七台河市| 汝州市| 遵义市|