DataGrid 数据源XML的实例(Tested)

DataGrid 数据源XML的实例(Tested)

 

需要注意:

1、XMLList 等价 XML

2、 dg.dataProvider =myBooks.item; 需要在写在程序内,表格才有数据,写在MXML
<mx:DataGrid id="dg" dataProvider =myBooks.item> 表格内不出数据,原因可能是creationComplete的原因。


 

<?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.controls.Alert;  
            [Bindable] public var a:XMLList;
            [Bindable] public var b:XMLList;
            [Bindable] public var c:XMLList;
            [Bindable] public var d:XMLList;
            [Bindable] public var e:XMLList;
            [Bindable] public var f:XMLList;
            private var myBooks:XMLList;
            private function init():void  
            {  
                //创建URLRequest类,用于接收XML信息;  
                var url:URLRequest=new URLRequest("myBooks.xml");  
                //创建URLLoader类,用于加载XML信息;   
                var loader:URLLoader=new URLLoader();  
                //加载完成时运行处理xml函数    
                loader.addEventListener(Event.COMPLETE, dealXml);  
                loader.load(url);  
            }  
              
            private function dealXml(event:Event):void  
            {  
                var loader:URLLoader=event.target as URLLoader;  
                myBooks=new XMLList(loader.data);  
                this.testComb.dataProvider=myBooks.item;  
                this.testComb.labelField="id";  
               
                // An XML list that contains both book nodes.               
                a = myBooks.item;                
                // Keith Peters        
                b = myBooks.item[0].id;                          
                e = myBooks.user;                
                f = myBooks.user.@name
                dg.dataProvider =myBooks.item;
              
            }  

        ]]>  
    </mx:Script>  
        <mx:Panel
        title="XML lookup results"
        paddingBottom="10" paddingLeft="10" paddingRight="10" paddingTop="10" width="495" height="486">
        <mx:Text text="{'a: ' + a}" width="300"/>
        <mx:Label text="{'b: ' + b}"/>       
        <mx:Label text="{'e: ' + e}"/>
        <mx:Label text="{'f: ' + f}"/>
        <mx:ComboBox id="testComb"/>
        <mx:DataGrid id="dg">
         <mx:columns>
          <mx:DataGridColumn headerText="id11" dataField="id"/>
          <mx:DataGridColumn headerText="value" dataField="value"/>
          <mx:DataGridColumn headerText="Column 3" dataField="col3"/>
         </mx:columns>
        </mx:DataGrid>
    </mx:Panel>
</mx:Application> 

myBooks.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>  
<root>  
<item>  
    <id>item1</id>  
    <value>v1</value>  
</item>  
<item>  
    <id>item2</id>  
    <value>v2</value>  
</item>  
 <user name="zfs2" sex="男">zhaofusheng2</user> 
</root>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值