FLEX里是怎么动态生成Tree的呢?

czx33859066 2008-12-15 04:38:57
有没有好的例子和方法。。。
...全文
1057 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
freemcl 2008-12-16
  • 打赏
  • 举报
回复
如果想看整个论坛的话,可以到http://download.csdn.net/source/636255 去下了
freemcl 2008-12-16
  • 打赏
  • 举报
回复
且看我的论坛的例子:
<?xml version="1.0" encoding="utf-8"?>
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="90%" creationComplete="initTree()">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import com.flexBBS.catalogManager.CatalogManager;
import com.flexBBS.contentManger.ContentManager;
import mx.controls.Alert;
import mx.formatters.DateFormatter;
import mx.managers.PopUpManager;
[Bindable]
public var contetList:ArrayCollection;
public var curCatalogid:String;
public var curCatalogName:String;
public var curUserID:String;
private var disTree:Boolean=true;
private var selectedNode:XML;
private var contentManager:ContentManager=ContentManager.getInstance();
private function showContentAndReplay():void {
//使用PopUpManager创建一个模式的弹出DisplayContent对话框
var displayContent_win:DisplayContent =DisplayContent(PopUpManager.createPopUp(this, DisplayContent,true));
//设定弹出窗口的位置为舞台的中心
displayContent_win.title=displayContent_dg.selectedItem.title;
displayContent_win.curContentid=displayContent_dg.selectedItem.id;
displayContent_win.curUserID=curUserID;
displayContent_win.curCatalogid=curCatalogid;
PopUpManager.centerPopUp(displayContent_win);
}
private function treeDis():void{
//df.formatString="";
if(disTree){
nav_tree.width=0;
disTree=false;
}else{
nav_tree.width=this.width*0.2;
disTree=true;
}
}
private function initTree():void{
var cm:CatalogManager=new CatalogManager();
cm.getCatalogAll(nav_tree);
}
private function selectItem():void{
selectedNode=nav_tree.selectedItem as XML;
if(selectedNode.children().length()==0){
curCatalogid=selectedNode.@id;
curCatalogName=selectedNode.@label;
contentManager.getContentByCatalog(curCatalogid,1,this);
}else{
curCatalogid="-1";
}
}
private function prepage():void{
if(curpage.value>1){
contentManager.getContentByCatalog(curCatalogid,curpage.value-1,this);
curpage.value=curpage.value-1;
}else{
Alert.show("已经是第一页了","首页");
}
}
private function nextpage():void{
if(curpage.value<curpage.maximum){
contentManager.getContentByCatalog(curCatalogid,curpage.value+1,this);
curpage.value=curpage.value+1;
}else{
Alert.show("已经是最后一页了","尾页");
}
}
private function jumppage():void{
contentManager.getContentByCatalog(curCatalogid,curpage.value,this);
}
private function dateLabel(item:Object, column:DataGridColumn):String
{
return dateFormatter.format(item[column.dataField]);
}
]]>
</mx:Script>
<mx:DateFormatter id="dateFormatter" formatString="YYYY年MM月DD日 J:NN:SS"/>
<mx:HDividedBox x="0" y="0" width="100%" height="100%" dividerPress="treeDis()">
<mx:Tree id="nav_tree" height="100%" width="20%" itemClick="selectItem()"></mx:Tree>
<mx:VBox width="80%" height="100%">
<mx:DataGrid id="displayContent_dg" width="100%" height="100%" dataProvider="{contetList}" itemClick="showContentAndReplay()">
<mx:columns>
<mx:DataGridColumn headerText="查看" dataField="regardcount" width="20"/>
<mx:DataGridColumn headerText="回复" dataField="replaycount" width="20"/>
<mx:DataGridColumn headerText="标题" dataField="title" width="200"/>
<mx:DataGridColumn headerText="作者" dataField="username" width="50"/>
<mx:DataGridColumn headerText="创建时间" dataField="createdate" width="100" labelFunction="dateLabel"/>
<mx:DataGridColumn headerText="最近回复时间" dataField="replaydate" width="100" labelFunction="dateLabel"/>
<mx:DataGridColumn headerText="ID" dataField="id" visible="false"/>
</mx:columns>
</mx:DataGrid>
<mx:HBox>
<mx:Button id="prepage_btn" label="上一页" click="prepage()"/>
<mx:Button id="nextpage_btn" label="下一页" click="nextpage()"/>
<mx:NumericStepper id="curpage" minimum="1"/>
<mx:Button id="jump_btn" label="跳转到" click="jumppage()"/>
</mx:HBox>
</mx:VBox>
</mx:HDividedBox>

</mx:Panel>

herowach 2008-12-15
  • 打赏
  • 举报
回复
你是要动态生成TREE的数据还是这个组件?
数据直接给不同的XML数据就好了啊,组件在AS里直接NEW一个TREE组件不行吗?

4,328

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧