论坛首页 编程语言技术论坛

最近做项目,写了个flex的工具类,方便以后用

浏览 3532 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-08-27  
主要作用就是获取一个容器里表单输入的值,返回一个vo,以及当一个容器中有很多checkbox时,方便获取选中项的值
package com.hjdl.tools
{
import mx.containers.FormItem;
import mx.controls.CheckBox;
import mx.controls.ComboBox;
import mx.controls.TextArea;
import mx.controls.TextInput;
import mx.core.Container;
import mx.controls.Alert;
public class FormTool
{
//无formitem的表单,仅支持两存容器嵌套
public static function getFormVo(formPanel:Container,vobj:Object):Object{
var fi_arr:Array=formPanel.getChildren();
for(var j:int=0;j<fi_arr.length;j++){
//如果里面还有层窗口
if(fi_arr[j] is Container)
{
var con_arr:Array=Container(fi_arr[j]).getChildren();
for(var k:int=0;k<con_arr.length;k++)
{
if(con_arr[k] is TextInput){
vobj[TextInput(con_arr[k]).id]=TextInput(con_arr[k]).text;
}
if(con_arr[k] is TextArea){
vobj[TextArea(con_arr[k]).id]=TextArea(con_arr[k]).text;
}
if(con_arr[k] is ComboBox){
vobj[ComboBox(con_arr[k]).id]=ComboBox(con_arr[k]).selectedItem.data;
}
}
}
if(fi_arr[j] is TextInput){
vobj[TextInput(fi_arr[j]).id]=TextInput(fi_arr[j]).text;
}
if(fi_arr[j] is TextArea){
vobj[TextArea(fi_arr[j]).id]=TextArea(fi_arr[j]).text;
}
if(fi_arr[j] is ComboBox){
vobj[ComboBox(fi_arr[j]).id]=ComboBox(fi_arr[j]).selectedItem.data;
}
}

return vobj;
}
//有formitem的表单
public static function getFormVoByFormItem(formPanel:Container,vobj:Object):Object{
var item_arr:Array=formPanel.getChildren();
for(var i:int=0;i<item_arr.length;i++){
if(item_arr[i] is FormItem){
var fi_arr:Array=FormItem(item_arr[i]).getChildren();
for(var j:int=0;j<fi_arr.length;j++){
if(fi_arr[j] is TextInput){
vobj[TextInput(fi_arr[j]).id]=TextInput(fi_arr[j]).text;
}
if(fi_arr[j] is TextArea){
vobj[TextArea(fi_arr[j]).id]=TextArea(fi_arr[j]).text;
}
if(fi_arr[j] is ComboBox){
vobj[ComboBox(fi_arr[j]).id]=ComboBox(fi_arr[j]).selectedItem.data;
}
}

}
}
return vobj;
}
//根据提供的数组,将一个容器内的符合条件的checkbox选中,第一个参数是容器ID,第二个是数组
public static function selectCheckBox(con:Container,data:Array):void
{
var item_arr:Array=con.getChildren();
for(var i:int=0;i<item_arr.length;i++){
if(item_arr[i] is CheckBox)
{
for(var j:int=0;j<data.length;j++)
{
CheckBox(item_arr[i]).selected=false;//先把原来选中的清除
if(data[j]==CheckBox(item_arr[i]).data)
{
CheckBox(item_arr[i]).selected=true;
break;
}
}
}

}
}
//获取所有选中的CheckBox值
public static function getSelectCheckBoxData(con:Container):String{
var cbData:String="";
var conItem:Array=con.getChildren();
for(var i:int=0;i<conItem.length;i++)
{
if(conItem[i] is CheckBox)
{
if(CheckBox(conItem[i]).selected==true)
{
//cbData.push(CheckBox(conItem[i]).data);
cbData=CheckBox(conItem[i]).data+":"+cbData;
}
}
}
return cbData;
}
}
}
   发表时间:2008-09-02  
没有必要!
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics