如何在flex中动态生成表单(< mx:form>)? [英] How to generate a form(<mx:form>) dynamically in flex?

查看:113
本文介绍了如何在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中动态生成表单(&lt; mx:form&gt;)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆