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
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" verticalAlign="middle" backgroundColor="white" creationComplete="httpParams.send()"
  3.  
  4.     <mx:HTTPService resultFormat="flashvars" url="{VARIABLES_URL}" id="httpParams" result="onResult(event)" /
  5.  
  6.     <mx:Script>
  7.         <![CDATA[
  8.             import mx.rpc.events.ResultEvent;
  9.             import mx.collections.ArrayCollection; 
  10.  
  11.             [Bindable]
  12.             private var VARIABLES_URL:String = "http://blog.minidx.com/ext/loading-namevalue-pairs-using-the-mxhttpservice-tag/params.txt"
  13.  
  14.             [Bindable]
  15.             private var paramColl:ArrayCollection = new ArrayCollection(); 
  16.  
  17.             private function onResult(evt:ResultEvent):void {
  18.                 var vars:Object = evt.result;
  19.                 var key:String; 
  20.  
  21.                 for (key in vars) {
  22.                     paramColl.addItem({key:key, value:vars[key]});
  23.                 }
  24.                 params.visible = true;
  25.             }
  26.         ]]>
  27.     </mx:Script> 
  28.  
  29.     <mx:VBox>
  30.         <mx:Label text="Parameters:" />
  31.         <mx:DataGrid id="params" dataProvider="{paramColl}" rowCount="5" visible="false">
  32.             <mx:columns>
  33.                 <mx:DataGridColumn dataField="key" headerText="Key" />
  34.                 <mx:DataGridColumn dataField="value" headerText="Value" />
  35.             </mx:columns>
  36.         </mx:DataGrid>
  37.     </mx:VBox> 
  38.  
  39. </mx:Application>
代码:Peter deHaan 翻译/整理/编译:minidxer

Topics: Flex | Tags: , , ,

Search Posts

Archives

Sponsored Ads