做了一个flex tree控件的例子,给新手点帮助,先把数据库中的表转化成xml文件,再给tree做数据源
/*此方法是把数据库读取结果集转化成xml*/
public static String convertResultSetToXML2(ResultSet rs) {
StringBuffer sb = new StringBuffer();
try {
ResultSetMetaData rsmd = rs.getMetaData();
if (rsmd.getColumnCount() >= 0)
sb.append("<row label=/"root/">/n");//根的名字是root
sb.append("/t<row label=/"Hello/">/n");//第二个根是Helo
for (; rs.next(); sb.append("")) {
sb.append((new StringBuilder("/t/t<")).append(
"row label=/"").toString()).append(
rs.getObject(2) != null ? rs.getObject(2) : "")
.append("/"/>/n");//注意,(rs.getObject(2))我取表中的第二列
}
sb.append("/t</row>/n");
sb.append("</row>/n");
} catch (Exception e) {
e.printStackTrace();
}
return sb.toString();
}
/*==========mxml代码==============*/
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Tree id="tree" x="23" y="10" width="204" height="459" labelField="@label" showRoot="true" creationComplete="loadTree()"></mx:Tree>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
public function loadTree():void{
dbiz.queryXML();//java后台方法
dbiz.addEventListener(ResultEvent.RESULT,resultHandle);
}
public function resultHandle(e:ResultEvent):void{
var arr:XMLList=XMLList(e.result);//把结果转化成XMLList
//Alert.show(e.result.toString());
this.tree.dataProvider=arr;
}
]]>
</mx:Script>
<!--用Remote和java交互-->
<mx:RemoteObject id="dbiz" destination="demoBiz"/>
</mx:Application>