Flex界面根据数据库中信息动态显示组件

        一直在百度Flex前台界面怎么根据后台返回来的信息动态显示界面,直到Asher/wx的帮助,才了解,非常感谢!为此,我写下这个例子,希望能给予同样为此困扰的你一点帮助!

       源代码:

        <?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
      xmlns:s="library://ns.adobe.com/flex/spark"
      xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
 <fx:Declarations>
  <!-- 将非可视元素(例如服务、值对象)放在此处 -->
 </fx:Declarations>
 <fx:Script>
  <![CDATA[
   import mx.controls.Alert;
   import mx.controls.CheckBox;
   import mx.controls.Label;
   import mx.controls.TextInput;
   
   import spark.components.TextArea;
   public function init():void{
    var xml:XML=new XML("<row><row id='textInput' name='姓名'>小董</row><row id='TextArea' name='密码'>114114</row></row>");
    if(xml.elements("row").length()>0){
    for(var i:int=0;i<xml.elements("row").length();i++)
    {
     var node:XML=new XML(xml.elements("row")[i]);
     if(node.@id=="textInput"){
      var nn:Label=new Label();
         nn.text=node.@name;
         nn.x=50;
         nn.y=50*i;
         p.addChild(nn);
      var tt:TextInput=new TextInput();
      tt.x=80;
      tt.y=50*i;
      p.addChild(tt);
     }else if(node.@id=="TextArea"){
      var n2:Label=new Label();
      n2.text=node.@name;
      n2.x=50;
      n2.y=50*i;
      p.addChild(n2);
      var t2:TextArea=new TextArea();
      t2.id=node.@name;
      t2.height=20;
      t2.x=80;
      t2.y=50*i;
      p.addChild(t2);
     }
    }
   }
   }
  ]]>
 </fx:Script>
 <s:Panel width="883" height="250">
  <s:Button click="init()" label="点击按钮"/>
  <mx:Canvas id="p" y="20" height="100">
  </mx:Canvas>
 </s:Panel>
</s:Application>

点击按钮 显示结果:

     
Flex界面根据数据库中信息动态显示组件_第1张图片
 我这里后台传过来的数据是拼凑成String形式传到前台来的。

你可能感兴趣的:(Flex界面根据数据库中信息动态显示组件)