我需要在每个父节点的末尾都有链接按钮,如下所示
- >(父)IBM Machines(重命名|删除|禁用)
儿童1儿童2儿童3
- >(父)Sony(重命名|删除|禁用)
儿童1儿童2儿童3
重命名,删除和diasble应该是链接按钮。我已尝试过标签功能和其他方法,但无法获得确切的要求。请帮助我如何实现这一目标。
答案 0 :(得分:2)
使用ItemRendrer,可以在以下位置找到示例(包括树) Using an item renderer with a Tree control
编辑请参阅示例:Flex Checkbox TreeItemRenderer
希望有所帮助
编辑请使用以下ItemRendrer
package
{
import mx.controls.LinkButton;
import mx.controls.treeClasses.*;
public class LinkButtonTreeItemRenderer extends TreeItemRenderer{
public var lnkRename:LinkButton;
public var lnkDelete:LinkButton;
public var lnkDisable:LinkButton;
public function LinkButtonTreeItemRenderer(){
super();
}
override protected function createChildren():void{
super.createChildren();
lnkRename= new LinkButton();
lnkRename.label = "rename";
lnkRename.visible = true;
addChild(lnkRename);
lnkDelete= new LinkButton();
lnkDelete.label = "delete";
lnkDelete.visible = true;
addChild(lnkDelete);
lnkDisable= new LinkButton();
lnkDisable.label = "disable";
lnkDisable.visible = true;
addChild(lnkDisable);
}
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{
super.updateDisplayList(unscaledWidth,unscaledHeight);
lnkRename.x = label.x + label.textWidth+10;
lnkRename.width = 55;
lnkRename.height = 20;
lnkDelete.x = lnkRename.x + lnkRename.width;
lnkDelete.width = 55;
lnkDelete.height = 20;
lnkDisable.x = lnkDelete.x + lnkDelete.width;
lnkDisable.width = 55;
lnkDisable.height = 20;
//this.width= 250;
}
}
}
答案 1 :(得分:0)
您需要使用项呈示器为行添加额外的功能。像这样:
<mx:Tree itemRenderer="SomeItemRenderer" />
然后,项呈示器只是名为SomeItemRenderer
的单独文件中的新自定义组件:
<mx:HBox width="100%">
<mx:Label text="{data.name} />
<mx:Spacer width="100%" />
<mx:LinkButton label="rename" />
<mx:LinkButton label="delete" />
<mx:LinkButton label="disable" />
</mx:HBox>
你需要某种逻辑来知道你是否应该显示链接按钮;我可能只是添加状态并添加/删除它们,如果数据有孩子或没有孩子。