如何在flex中动态生成表单(< mx:form>)? [英] How to generate a form(<mx:form>) dynamically in flex?
本文介绍了如何在flex中动态生成表单(< mx:form>)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要从一个xml文件生成一个mx:form,从httpservice获得。
另外,我需要预先填充我从
有人可以给我一个示例代码吗? >你将不得不扩大这个显然,但是这是我将如何去建立一个动态的形式..
import mx .controls.TextInput;
导入mx.containers.FormItem;
导入mx.containers.Form;
private var fxml:XML =
< form>
<字段>
< field type =textlabel =namedefault =gary/>
< field type =textlabel =surnamedefault =benade/>
< / fields>
< / form>
private function init():void
{
var form:Form = new Form();
form.setStyle(backgroundColor,0xFFFFFF);
(xml。@ type.toString())
{
casetext
for each(var xml:fxml.field中的XML)
{ :
var fi:FormItem = new FormItem();
fi.label = xml。@ label;
var ti:TextInput = new TextInput();
ti.text = xml。@ default.toString();
fi.addChild(ti);
form.addChild(fi);
break;
caseint:
break;
}
}
this.addChild(form);
}
I need to generate a mx:form from an xml file that I am getting from httpservice.
Also I need to prefill the data that I am getting from the form itself.
Can someone give me a sample code?
解决方案
You would have to expand on this obviously, but this is how I would go about building a dynamic form..
import mx.controls.TextInput;
import mx.containers.FormItem;
import mx.containers.Form;
private var fxml:XML =
<form>
<fields>
<field type="text" label="name" default="gary"/>
<field type="text" label="surname" default="benade"/>
</fields>
</form>
private function init():void
{
var form:Form = new Form();
form.setStyle("backgroundColor", 0xFFFFFF);
for each( var xml:XML in fxml..field)
{
switch( xml.@type.toString())
{
case "text":
var fi:FormItem = new FormItem();
fi.label = xml.@label;
var ti:TextInput = new TextInput();
ti.text = xml.@default.toString();
fi.addChild( ti);
form.addChild( fi);
break;
case "int":
break;
}
}
this.addChild( form);
}
这篇关于如何在flex中动态生成表单(< mx:form>)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文