基于ListBase的flex组件从 data provider 获取数据。dataProvider提供了复杂数据类型,如Array,ArrayCollection,XML,XMLCollection等。dataProvider可以用mxml及AS两种方式定义。下面例子中的四个List展现同样的内容:

data provider:高级数据绑定<?xml version="1.0" encoding="utf-8"?>
data provider:高级数据绑定
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal">
data provider:高级数据绑定    
<mx:Script>
data provider:高级数据绑定        
<![CDATA[
data provider:高级数据绑定            [Bindable]
data provider:高级数据绑定            private var myArray:Array = ["a","b","c"];
data provider:高级数据绑定            
data provider:高级数据绑定            [Bindable]
data provider:高级数据绑定            private var xml:XML = 
data provider:高级数据绑定            <nodes>
data provider:高级数据绑定                    <node label="a"/>
data provider:高级数据绑定                <node label="b"/>
data provider:高级数据绑定                <node label="c"/>
data provider:高级数据绑定            </nodes>;
data provider:高级数据绑定        
]]>
data provider:高级数据绑定    
</mx:Script>
data provider:高级数据绑定    
data provider:高级数据绑定    
<mx:List dataProvider="{myArray}" width="50" height="200"/>
data provider:高级数据绑定    
<mx:List dataProvider="{xml.children()}"  labelField="@label"  width="50" height="200"/>
data provider:高级数据绑定    
<mx:List  width="50" height="200">
data provider:高级数据绑定        
<mx:dataProvider>
data provider:高级数据绑定            
<mx:Object label="a"/>
data provider:高级数据绑定            
<mx:Object label="b"/>
data provider:高级数据绑定            
<mx:Object label="c"/>
data provider:高级数据绑定        
</mx:dataProvider>
data provider:高级数据绑定    
</mx:List>
data provider:高级数据绑定    
<mx:List   width="50" height="200" labelField="@label">
data provider:高级数据绑定        
<mx:dataProvider>
data provider:高级数据绑定        
<mx:XMLList>
data provider:高级数据绑定                
<node label="a"/>
data provider:高级数据绑定                
<node label="b"/>
data provider:高级数据绑定                
<node label="c"/>            
data provider:高级数据绑定        
</mx:XMLList>
data provider:高级数据绑定            
data provider:高级数据绑定        
</mx:dataProvider>
data provider:高级数据绑定    
</mx:List>
data provider:高级数据绑定    
data provider:高级数据绑定
</mx:Application>
data provider:高级数据绑定



如果使用Collection,可以保证数据同步并提供简单数据操作,比如排序和过滤。下面的例子演示了同步,排序和过滤:

data provider:高级数据绑定<?xml version="1.0" encoding="utf-8"?>
data provider:高级数据绑定
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" creationComplete="init()">
data provider:高级数据绑定    
<mx:Script>
data provider:高级数据绑定        
<![CDATA[
data provider:高级数据绑定            import mx.collections.SortField;
data provider:高级数据绑定            import mx.collections.Sort;
data provider:高级数据绑定            import mx.collections.ArrayCollection;
data provider:高级数据绑定            [Bindable]
data provider:高级数据绑定            //private var myArray:Array =  ["c","b","a"];
data provider:高级数据绑定            private var myArray:ArrayCollection = new ArrayCollection( ["c","b","a"]);
data provider:高级数据绑定            private function sort(){                
data provider:高级数据绑定                var sort:Sort = new Sort();
data provider:高级数据绑定                sort.fields = [new SortField()];
data provider:高级数据绑定                myArray.sort = sort;
data provider:高级数据绑定                myArray.refresh();
data provider:高级数据绑定                myArray.sort.fields = new Array();
data provider:高级数据绑定            }
data provider:高级数据绑定            
data provider:高级数据绑定            private function filter(item:Object):Boolean{
data provider:高级数据绑定                if("a"==item)
data provider:高级数据绑定                    return false;
data provider:高级数据绑定                else
data provider:高级数据绑定                    return true;
data provider:高级数据绑定            }
data provider:高级数据绑定        
]]>
data provider:高级数据绑定    
</mx:Script>
data provider:高级数据绑定    
data provider:高级数据绑定    
<mx:List dataProvider="{myArray}" width="50" height="200"/>
data provider:高级数据绑定    
<!--<mx:Button label="add" click="myArray.push(myArray.length)"/>-->
data provider:高级数据绑定    
<mx:Button label="add" click="myArray.addItem(myArray.length)"/>
data provider:高级数据绑定    
<mx:Button label="sort" click="sort()"/>
data provider:高级数据绑定    
<mx:Button label="filter" click="myArray.filterFunction=filter;myArray.refresh();"/>
data provider:高级数据绑定
</mx:Application>
data provider:高级数据绑定

相关文章:

  • 2022-01-11
  • 2021-11-30
  • 2020-05-25
  • 2021-09-23
  • 2022-12-23
  • 2021-12-22
  • 2022-12-23
  • 2021-09-27
猜你喜欢
  • 2021-11-09
  • 2022-12-23
  • 2021-09-11
  • 2022-12-23
  • 2022-12-23
  • 2021-08-12
相关资源
相似解决方案