Flex中如何利用mx:HTTPService标签读取文本文件中的name/value这样的一对数据并显示在DataGrid中的例子
By Minidxer | May 18, 2008
和前面的Flex中利用URLLoader和URLVariables类导入文件的例子中实现的功能其实一样,接下来的例子演示如何利用mx:HTTPService标签读取文本文件中的name/value这样的一对数据并显示在DataGrid中。注意例子中的params.txt文件是再编译的时候被嵌入但是真正读入数据是在执行的时候。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码):
下面是完整代码(或点击这里查看):
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" verticalAlign="middle" backgroundColor="white" creationComplete="httpParams.send()">
- <mx:HTTPService resultFormat="flashvars" url="{VARIABLES_URL}" id="httpParams" result="onResult(event)" />
- <mx:Script>
- <![CDATA[
- import mx.rpc.events.ResultEvent;
- import mx.collections.ArrayCollection;
- [Bindable]
- private var VARIABLES_URL:String = "http://blog.minidx.com/ext/loading-namevalue-pairs-using-the-mxhttpservice-tag/params.txt";
- [Bindable]
- private var paramColl:ArrayCollection = new ArrayCollection();
- private function onResult(evt:ResultEvent):void {
- var vars:Object = evt.result;
- var key:String;
- for (key in vars) {
- paramColl.addItem({key:key, value:vars[key]});
- }
- params.visible = true;
- }
- ]]>
- </mx:Script>
- <mx:VBox>
- <mx:Label text="Parameters:" />
- <mx:DataGrid id="params" dataProvider="{paramColl}" rowCount="5" visible="false">
- <mx:columns>
- <mx:DataGridColumn dataField="key" headerText="Key" />
- <mx:DataGridColumn dataField="value" headerText="Value" />
- </mx:columns>
- </mx:DataGrid>
- </mx:VBox>
- </mx:Application>
代码:Peter deHaan 翻译/整理/编译:minidxer
Topics:
Flex |
Tags: Flex, HTTPService, ResultEvent, resultFormat
Trackbacks