Flex中如何利用mx:HTTPService标签读取文本文件中的name/value这样的一对数据并显示在DataGrid中的例子

和前面的 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.     <mx:HTTPService resultFormat="flashvars" url="{VARIABLES_URL}" id="httpParams" result="onResult(event)" /
  4.     <mx:Script>
  5.         <![CDATA[
  6.             import mx.rpc.events.ResultEvent;
  7.             import mx.collections.ArrayCollection; 
  8.             [Bindable]
  9.             private var VARIABLES_URL:String = "http://blog.minidx.com/ext/loading-namevalue-pairs-using-the-mxhttpservice-tag/params.txt"
  10.             [Bindable]
  11.             private var paramColl:ArrayCollection = new ArrayCollection(); 
  12.             private function onResult(evt:ResultEvent):void {
  13.                 var vars:Object = evt.result;
  14.                 var key:String; 
  15.                 for (key in vars) {
  16.                     paramColl.addItem({key:key, value:vars[key]});
  17.                 }
  18.                 params.visible = true;
  19.             }
  20.         ]]>
  21.     </mx:Script> 
  22.     <mx:VBox>
  23.         <mx:Label text="Parameters:" />
  24.         <mx:DataGrid id="params" dataProvider="{paramColl}" rowCount="5" visible="false">
  25.             <mx:columns>
  26.                 <mx:DataGridColumn dataField="key" headerText="Key" />
  27.                 <mx:DataGridColumn dataField="value" headerText="Value" />
  28.             </mx:columns>
  29.         </mx:DataGrid>
  30.     </mx:VBox> 
  31. </mx:Application>

你可能感兴趣的:(职场,休闲)