首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

Flexed toolkit组件库之CForm引见

2012-11-25 
Flexed toolkit组件库之CForm介绍Flexed toolkit是一个简单易用的flex组件库。主页的地址是http://code.goo

Flexed toolkit组件库之CForm介绍


Flexed toolkit是一个简单易用的flex组件库。主页的地址是http://code.google.com/p/flexedtoolkit/。本文主要讲解其中的一个form组件CForm的用法。

?

开发中需要很多的form表单,虽然flex组件库中已经包含form组件但是form组件的功能太简单了,例如:表单项按2列排放,重置,得到表单的数据等,都需要自己写很长的代码。再一次感谢Flexed toolkit的作者为我们提供了CForm组件来解决这些问题。

CForm组件的原理是根据XML中的信息动态创建flex组件,优点在于:布局、验证等都可以是自动的,程序员可以把更多的精力放在业务逻辑上。

?下面举个简单的例子是讲下CForm组件的使用方法:

1.导入cform.swc。

2.编写一个basic.xml文件,问价内容如下:

?

<?xml version="1.0" encoding="utf-8"?><cform columns="2" vgap="5" igap="1"><group label="用户信息" column="1"><formitem><field id="fname" label="姓名"><widget type="text" default="韩敬诺"/></field></formitem> <formitem><field id="age" label="年龄"><widget type="stepper" default="26" min="1" max="200"/></field></formitem><formitem><field id="gender" label="性别"><widget type="radiogroup"><item data="male" label="男" selected="true"/><item data="female" label="女"/></widget></field></formitem><formitem><field id="bday" label="生日"><widget type="date" showtime="true"/></field></formitem><formitem><field id="alive" label="婚否"><widget type="checkbox" selected="false"/></field></formitem></group><group label="其他信息" column="2"><formitem><field id="address" label="Email"><widget type="textarea" default="hanjingnuo@163.com"/></field></formitem></group></cform>

?

3.在Application的初始化方法中添加以下内容

?

???

 import flexed.widgets.form.CForm; public var cf:CForm;

?

?

private function init():void{    var str:String="basic.xml";    cf=new CForm();    cf.widgetsFile=str;    cf.init();    box.addChild(cf);}

?

以上是用as3创建的 也可以用mxml来创建cform组件。

<flexed:CForm id="cfrm" widgetsFile="basic.xml"              verticalCenter="0"               verticalScrollPolicy="auto" horizontalCenter="0"               horizontalScrollPolicy="off"             width="400" height="100%"/>

?

注意:cform此时并不会创建,需要手动调用它的init()方法。

?

来看下效果吧

?Flexed toolkit组件库之CForm引见

?

cFormValidation是表单验证函数。

例如以下是验证数字和空置的验证函数。

private function validateForm(id:String, value:Object, values:Object):ValidationResult{var result:ValidationResult = new ValidationResult(false);if(id == "fname" || id == "txtFName"){var rxpNumber:RegExp = /\d/gvar match:Array = null;match = (value as String).match(rxpNumber);if(match.length != 0)result = new ValidationResult(true,null,"","No numbers allowed in this field!!!");}else if(id == "txtCoName"){if(value == "" || value == null) result = new ValidationResult(true,null,"","You HAVE to enter a company name!");}return result;}

?

getData(false) 得到cform的data值 如果参数是false则得到所有值,如果为空则得到修改过的值。

?

resetCForm()将表单置空。

?

setData(values:Object);为表单赋值。

?

getWidget("WidgetID").getUIComponent() 访问cform组件里面的内部组件。

?

createCFormFromXML(new XML());从一个XML对象创建CForm。

?

?

附件是例子的源代码。

?

?

热点排行