在应用程序中使用数据库,Adobe提供了若干组件,如Web Service,HTTP Service,Remote Object Service这些组件都称为远程调用(RPC)组件。
使用LinkButton打开一个url:
<mx:LinkButton x="30" y="250" label="Select an item and click here for full post"
click="navigateToURL(new URLRequest(dgTopPosts.selectedItem.postLink));" />
Demo:显示weblog网页中点击统计信息,并通过LinkButton打开选中项。
<?
xml version
=
"
1.0
"
encoding
=
"
utf-8
"
?>
< mx:Application xmlns:mx = " http://www.adobe.com/2006/mxml " layout = " absolute "
creationComplete = " wsgBlogAggr.getMostPopularPosts.send() " >
< mx:WebService id = " wsgBlogAggr "
wsdl = " http://weblogs.macromedia.com/mxna/webservices/mxna2.cfc?wsdl "
useProxy = " false " >
< mx:operation name = " getMostPopularPosts " >
< mx:request >
< daysBack > 30 </ daysBack >
< limit > {cbxNumberPosts.value} </ limit >
</ mx:request >
</ mx:operation >
</ mx:WebService >
< mx:Panel x = " 10 " y = " 10 " width = " 475 " height = " 400 " layout = " absolute " title = " Most Popular Posts " >
< mx:ComboBox x = " 10 " y = " 25 " id = " cbxNumberPosts "
change = " wsgBlogAggr.getMostPopularPosts.send() " >
< mx:Object label = " Top 5 " data = " 5 " />
< mx:Object label = " Top 10 " data = " 10 " />
< mx:Object label = " Top 15 " data = " 15 " />
</ mx:ComboBox >
< mx:DataGrid x = " 10 " y = " 67 " id = " dgTopPosts " width = " 400 "
dataProvider = " {wsgBlogAggr.getMostPopularPosts.lastResult} " >
< mx:columns >
< mx:DataGridColumn headerText = " Top Posts " dataField = " postTitle " />
< mx:DataGridColumn headerText = " Clicks " dataField = " clicks " width = " 75 " />
</ mx:columns >
</ mx:DataGrid >
< mx:LinkButton x = " 10 " y = " 231 " label = " Select an item and click here for full post "
click = " navigateToURL(new URLRequest(dgTopPosts.selectedItem.postLink)); " />
</ mx:Panel >
</ mx:Application >
< mx:Application xmlns:mx = " http://www.adobe.com/2006/mxml " layout = " absolute "
creationComplete = " wsgBlogAggr.getMostPopularPosts.send() " >
< mx:WebService id = " wsgBlogAggr "
wsdl = " http://weblogs.macromedia.com/mxna/webservices/mxna2.cfc?wsdl "
useProxy = " false " >
< mx:operation name = " getMostPopularPosts " >
< mx:request >
< daysBack > 30 </ daysBack >
< limit > {cbxNumberPosts.value} </ limit >
</ mx:request >
</ mx:operation >
</ mx:WebService >
< mx:Panel x = " 10 " y = " 10 " width = " 475 " height = " 400 " layout = " absolute " title = " Most Popular Posts " >
< mx:ComboBox x = " 10 " y = " 25 " id = " cbxNumberPosts "
change = " wsgBlogAggr.getMostPopularPosts.send() " >
< mx:Object label = " Top 5 " data = " 5 " />
< mx:Object label = " Top 10 " data = " 10 " />
< mx:Object label = " Top 15 " data = " 15 " />
</ mx:ComboBox >
< mx:DataGrid x = " 10 " y = " 67 " id = " dgTopPosts " width = " 400 "
dataProvider = " {wsgBlogAggr.getMostPopularPosts.lastResult} " >
< mx:columns >
< mx:DataGridColumn headerText = " Top Posts " dataField = " postTitle " />
< mx:DataGridColumn headerText = " Clicks " dataField = " clicks " width = " 75 " />
</ mx:columns >
</ mx:DataGrid >
< mx:LinkButton x = " 10 " y = " 231 " label = " Select an item and click here for full post "
click = " navigateToURL(new URLRequest(dgTopPosts.selectedItem.postLink)); " />
</ mx:Panel >
</ mx:Application >
Result: