加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex 4.5 DataGrid 绑定Xml方法

发布时间:2020-12-15 05:01:35 所属栏目:百科 来源:网络整理
导读:????? 从Flex4 后,Datagrid 组件就已经由原来的mx 换成spark.components.DataGrid 。原来mx下的DataGrid下可以直接绑定xml,但到了spark. 下的dataProvider 是需要实现Ilist接口的。整理后代码如下: ?xml version="1.0" encoding="utf-8"?!-- dpcontrolss

????? 从Flex4 后,Datagrid 组件就已经由原来的mx 换成spark.components.DataGrid 。原来mx下的DataGrid下可以直接绑定xml,但到了spark. 下的dataProvider 是需要实现Ilist接口的。整理后代码如下:

<?xml version="1.0" encoding="utf-8"?>
<!-- dpcontrolssparkdpcontrolsSparkDGXMLData.mxml -->
<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"
	width="500">
	<s:layout>
		<s:VerticalLayout/>
	</s:layout>
	<fx:Declarations>
		<fx:XMLList id="employees">
			<employee>
				<name>Joanne Wall</name>
				<phone>555-219-2012</phone>
				<email>jwall@fictitious.com</email>
				<active>true</active>
			</employee>            
			<employee>
				<name>Mary Jones</name>
				<phone>555-219-2000</phone>
				<email>mjones@fictitious.com</email>
				<active>true</active>
			</employee>            
			<employee>
				<name>Maurice Smith</name>
				<phone>555-219-2012</phone>
				<email>maurice@fictitious.com</email>
				<active>false</active>
			</employee>            
			<employee>
				<name>Dave Davis</name>
				<phone>555-219-2000</phone>
				<email>ddavis@fictitious.com</email>
				<active>true</active>
			</employee>            
			<employee>
				<name>Tom Maple</name>
				<phone>555-219-2000</phone>
				<email>tmaple@fictitious.com</email>
				<active>true</active>
			</employee>            
		</fx:XMLList>
		<s:XMLListCollection id="employees2" source="{employees}"/>
	</fx:Declarations>
	
	<s:DataGrid id="dg" width="500" dataProvider="{employees2}">
		<s:columns>
			<s:ArrayList>
				<s:GridColumn dataField="name" headerText="Name"/>
				<s:GridColumn dataField="phone" headerText="Phone"/>
				<s:GridColumn dataField="email" headerText="Email"/>
			</s:ArrayList>
		</s:columns>
	</s:DataGrid>
	
	<s:Form>
		<s:FormItem label="Name">
			<s:Label text="{dg.selectedItem.name}"/>
		</s:FormItem>
		<s:FormItem label="Email">
			<s:Label text="{dg.selectedItem.email}"/>
		</s:FormItem>
		<s:FormItem label="Phone">
			<s:Label text="{dg.selectedItem.phone}"/>
		</s:FormItem>
	</s:Form>
</s:Application>

?

???另外:如果XML数据源不是这种标准格式而是以Atturibe 呈现时,绑定字段时应以@连接,则应该做相应修改:

??

<?xml version="1.0" encoding="utf-8"?>
<!-- dpcontrolssparkdpcontrolsSparkDGXMLData.mxml -->
<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"
	width="500">
	<s:layout>
		<s:VerticalLayout/>
	</s:layout>
	<fx:Declarations>
		<fx:XMLList id="employees">
			<employee name="Joanne Wall" phone="555-219-2012" email="jwall@fictitious.com" active="true" />                     
		</fx:XMLList>
		<s:XMLListCollection id="employees2" source="{employees}"/>
	</fx:Declarations>
	
	<s:DataGrid id="dg" width="500" dataProvider="{employees2}">
		<s:columns>
			<s:ArrayList>
				<s:GridColumn dataField="@name" headerText="Name"/>
				<s:GridColumn dataField="@phone" headerText="Phone"/>
				<s:GridColumn dataField="@email" headerText="Email"/>
			</s:ArrayList>
		</s:columns>
	</s:DataGrid>
	
	<s:Form>
		<s:FormItem label="Name">
			<s:Label text="{dg.selectedItem.@name}"/>
		</s:FormItem>
		<s:FormItem label="Email">
			<s:Label text="{dg.selectedItem.@email}"/>
		</s:FormItem>
		<s:FormItem label="Phone">
			<s:Label text="{dg.selectedItem.@phone}"/>
		</s:FormItem>
	</s:Form>
</s:Application>

?

效果图:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读