惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
Stack Overflow Blog
Stack Overflow Blog
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
T
The Blog of Author Tim Ferriss
博客园 - 叶小钗
N
Netflix TechBlog - Medium
腾讯CDC
C
Check Point Blog
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
S
SegmentFault 最新的问题
F
Fortinet All Blogs
美团技术团队
U
Unit 42
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 司徒正美
F
Full Disclosure
Recorded Future
Recorded Future
D
DataBreaches.Net
博客园 - 【当耐特】
Martin Fowler
Martin Fowler
J
Java Code Geeks
I
InfoQ
Y
Y Combinator Blog
A
About on SuperTechFans
AI
AI
爱范儿
爱范儿
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Forbes - Security
Forbes - Security
W
WeLiveSecurity
M
MIT News - Artificial intelligence
雷峰网
雷峰网
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
Schneier on Security
Schneier on Security
The GitHub Blog
The GitHub Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
aimingoo的专栏
aimingoo的专栏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
G
GRAHAM CLULEY
Know Your Adversary
Know Your Adversary
Latest news
Latest news
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
D
Docker
Recent Commits to openclaw:main
Recent Commits to openclaw:main
量子位
V2EX - 技术
V2EX - 技术
Project Zero
Project Zero

博客园 - 在路上...

Iphone的HEIC图片文件格式转换及相关开发工具 账号复活了 2015年,即将结束 CentOS 6 minimal 安装之后添加gnome Windows8离线安装.net framework 3.5 新年快到了,此记 Jquery中增加参数与Json转换代码 - 在路上... - 博客园 如何获取到informix for linux? 建国大业 《红》mp3下载 T42内存升级 随便一帖 Informix 9.40UC9 on Redhat Linux AS 4安装手记 Taking the web Offline and On the Desktop Flex上传文件功能 Flex实现QQ网页提取天气信息 乱弹ruby on rails目录下面的文件数有3万多个 Ruby on rails 2.0.2傻瓜入门之Hello world Javascript代码压缩、加密算法的破解分析及工具实现 【翻译】Oracle不同版本之间Export & Import的兼容性矩阵
flex中ComboBox对应的几种数据绑定 - 在路上... - 博客园
在路上... · 2010-03-09 · via 博客园 - 在路上...

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
 <mx:Script>
  <![CDATA[
   import mx.collections.XMLListCollection;
   import mx.collections.ArrayCollection;
   /*
    *这个例子重点演示了常见的到ComboBox的几种绑定,分别是基于数组、基于XML的数据、基于mx:Model的绑定
    对于XMl的情况,通常我们要定位到children()对应的XMLList来绑定
    */
   [Bindable]
   private var listdata:ArrayCollection;
   [Bindable]
   private var xmldata:XMLListCollection;
   [Bindable]
   private var xmlnode:XMLListCollection;
   [Bindable]
   private var xmllist:XMLList;

   private function init():void
   {
    //基于数组定义的绑定
    var list:Array=[{label: '中国', value: 'CN'}, {label: '美国', value: 'usa'}, {label: '英国', value: 'uk'}];
       //基于xml属性定义的绑定
    this.listdata=new ArrayCollection(list);
    var xml:XML=<root>
     <item label="datagrid" value="1"/>
     <item label="combobox" value="2"/>
     <item label="List" value="3"/>
    </root>;
    //构造一个xml节点定义XMLListCollection
    xmldata=new XMLListCollection(new XMLList([xml]));
    var xml1:XML=<root>
     <item>
      <label>java</label>
      <value>a</value>
     </item>
     <item>
      <label>c#</label>
      <value>b</value>
     </item>
     <item>
      <label>delphi</label>
      <value>c</value>
     </item>
    </root>;
    xmlnode=new XMLListCollection(new XMLList([xml1]));
    //直接构造一个XMLList对象
    xmllist=new XMLList();
    xmllist+=<item><label>白色</label><value>white</value></item>;
    xmllist+=<item><label>黑色</label><value>black</value></item>
   }

   private function binddata():void
   {
    if(cbBindType.selectedItem.value=="xml1"){
     cbList.dataProvider=xmldata.children();
     cbList.labelField="@label";
     DataGridColumn(grid1.columns[0]).dataField="@label";
     DataGridColumn(grid1.columns[1]).dataField="@value";
    }
    else if(cbBindType.selectedItem.value=="xml2"){
     cbList.dataProvider=xmlnode.children();
     cbList.labelField="label";
     DataGridColumn(grid1.columns[0]).dataField="label";
     DataGridColumn(grid1.columns[1]).dataField="value";
    }
    else if(cbBindType.selectedItem.value=="xml3"){
     cbList.dataProvider=xmllist;
     cbList.labelField="label";
     DataGridColumn(grid1.columns[0]).dataField="label";
     DataGridColumn(grid1.columns[1]).dataField="value";
    }
    else{
     cbList.dataProvider=listdata;
     cbList.labelField="label";
     DataGridColumn(grid1.columns[0]).dataField="label";
     DataGridColumn(grid1.columns[1]).dataField="value";
    }
    grid1.dataProvider=cbList.dataProvider;
    cbValueChanged();
   }
   
   private function cbValueChanged():void{
    var item:Object=cbList.selectedItem;
    if(item is XML){
     if(cbBindType.selectedItem.value=="xml1")
      tiPrompt.text=XML(item).@value;
     else
      tiPrompt.text=XML(item).value;
    }
    else{
     tiPrompt.text=item.value;
    }
   }
   
  ]]>
 </mx:Script>
 <mx:Model id="mType">
  <root>
   <item label="Xml属性绑定" value="xml1"/>
   <item label="Xml节点绑定" value="xml2"/>
   <item label="XmlList绑定" value="xml3"/>
   <item label="Array绑定" value="array"/>
  </root>
 </mx:Model>
 <mx:ComboBox x="52" y="20" id="cbBindType" dataProvider="{mType.item}" labelField="label" width="152">
 </mx:ComboBox>
 <mx:ComboBox x="52" y="70" id="cbList" width="152" change="cbValueChanged()">
 </mx:ComboBox>
 <mx:Label x="9" y="22" text="绑定类型"/>
 <mx:Button x="236" y="20" label="绑定" click="binddata()"/>
 <mx:TextInput x="52" y="100" id="tiPrompt" />
    <mx:DataGrid id="grid1" height="107" x="236" y="69" width="240">
        <mx:columns>
            <mx:DataGridColumn headerText="label" dataField="label"/>
            <mx:DataGridColumn headerText="value" dataField="value"/>
        </mx:columns>
    </mx:DataGrid>

</mx:Application>