dataProvider:高级数据绑定
来源:互联网 发布:国产车遥控编程器 编辑:程序博客网 时间:2024/06/01 20:22
基于ListBase的flex组件从 data provider 获取数据。dataProvider提供了复杂数据类型,如Array,ArrayCollection,XML,XMLCollection等。dataProvider可以用mxml及AS两种方式定义。下面例子中的四个List展现同样的内容:
如果使用Collection,可以保证数据同步并提供简单数据操作,比如排序和过滤。下面的例子演示了同步,排序和过滤:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal">
<mx:Script>
<![CDATA[
[Bindable]
private var myArray:Array = ["a","b","c"];
[Bindable]
private var xml:XML =
<nodes>
<node label="a"/>
<node label="b"/>
<node label="c"/>
</nodes>;
]]>
</mx:Script>
<mx:List dataProvider="{myArray}" width="50" height="200"/>
<mx:List dataProvider="{xml.children()}" labelField="@label" width="50" height="200"/>
<mx:List width="50" height="200">
<mx:dataProvider>
<mx:Object label="a"/>
<mx:Object label="b"/>
<mx:Object label="c"/>
</mx:dataProvider>
</mx:List>
<mx:List width="50" height="200" labelField="@label">
<mx:dataProvider>
<mx:XMLList>
<node label="a"/>
<node label="b"/>
<node label="c"/>
</mx:XMLList>
</mx:dataProvider>
</mx:List>
</mx:Application>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal">
<mx:Script>
<![CDATA[
[Bindable]
private var myArray:Array = ["a","b","c"];
[Bindable]
private var xml:XML =
<nodes>
<node label="a"/>
<node label="b"/>
<node label="c"/>
</nodes>;
]]>
</mx:Script>
<mx:List dataProvider="{myArray}" width="50" height="200"/>
<mx:List dataProvider="{xml.children()}" labelField="@label" width="50" height="200"/>
<mx:List width="50" height="200">
<mx:dataProvider>
<mx:Object label="a"/>
<mx:Object label="b"/>
<mx:Object label="c"/>
</mx:dataProvider>
</mx:List>
<mx:List width="50" height="200" labelField="@label">
<mx:dataProvider>
<mx:XMLList>
<node label="a"/>
<node label="b"/>
<node label="c"/>
</mx:XMLList>
</mx:dataProvider>
</mx:List>
</mx:Application>
如果使用Collection,可以保证数据同步并提供简单数据操作,比如排序和过滤。下面的例子演示了同步,排序和过滤:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.collections.SortField;
import mx.collections.Sort;
import mx.collections.ArrayCollection;
[Bindable]
//private var myArray:Array = ["c","b","a"];
private var myArray:ArrayCollection = new ArrayCollection( ["c","b","a"]);
private function sort(){
var sort:Sort = new Sort();
sort.fields = [new SortField()];
myArray.sort = sort;
myArray.refresh();
myArray.sort.fields = new Array();
}
private function filter(item:Object):Boolean{
if("a"==item)
return false;
else
return true;
}
]]>
</mx:Script>
<mx:List dataProvider="{myArray}" width="50" height="200"/>
<!--<mx:Button label="add" click="myArray.push(myArray.length)"/>-->
<mx:Button label="add" click="myArray.addItem(myArray.length)"/>
<mx:Button label="sort" click="sort()"/>
<mx:Button label="filter" click="myArray.filterFunction=filter;myArray.refresh();"/>
</mx:Application>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.collections.SortField;
import mx.collections.Sort;
import mx.collections.ArrayCollection;
[Bindable]
//private var myArray:Array = ["c","b","a"];
private var myArray:ArrayCollection = new ArrayCollection( ["c","b","a"]);
private function sort(){
var sort:Sort = new Sort();
sort.fields = [new SortField()];
myArray.sort = sort;
myArray.refresh();
myArray.sort.fields = new Array();
}
private function filter(item:Object):Boolean{
if("a"==item)
return false;
else
return true;
}
]]>
</mx:Script>
<mx:List dataProvider="{myArray}" width="50" height="200"/>
<!--<mx:Button label="add" click="myArray.push(myArray.length)"/>-->
<mx:Button label="add" click="myArray.addItem(myArray.length)"/>
<mx:Button label="sort" click="sort()"/>
<mx:Button label="filter" click="myArray.filterFunction=filter;myArray.refresh();"/>
</mx:Application>
- dataProvider:高级数据绑定
- Flex中自定义组件ItemRenderer,数据绑定dataprovider,刷新问题。
- 高级数据绑定
- ASP高级应用之数据绑定!
- asp.net高级开发之数据绑定
- asp.net高级开发之数据绑定
- ASP.NET高级开发之数据绑定
- ASP.NET高级开发之数据绑定
- SilverLight 5 数据绑定的高级话题
- CBoard框架数据集实现--DataProvider
- 在comboBox中获取dataProvider属性绑定的变量
- ASP.NET 2.0高级数据处理之数据绑定
- ASP.NET 2.0高级数据处理之数据绑定语法
- SilverLight 5 数据绑定的高级话题(2)
- SilverLight 5 数据绑定的高级话题(1)
- SilverLight 5 数据绑定的高级话题(3)
- Spread for Windows Forms高级主题(6)---数据绑定管理
- Windows 8实例教程系列 - 数据绑定高级实例
- 使用自己的两条腿
- jpgw文件格式说明
- REPLICATE函数
- public、protected、默认、private关键字
- myeclipse 开发SSH(struts+hibernate+spring)
- dataProvider:高级数据绑定
- UUID
- 谋划(25)
- WebServices项目中的角色
- 取生产订单状态的逻辑
- C++模板用法:定义、使用 示例
- JavaScript FAQ(四)——导航功能增强
- C++多线程的创建与使用
- Java栈与堆