Кнопка ссылки в дереве в конце каждого родительского узла - PullRequest
1 голос
/ 18 апреля 2011

Мне нужно иметь кнопки ссылок в конце каждого родительского узла, как показано ниже

-> (Parent) IBM Machines (переименовать | удалить | отключить)

Child 1 Child 2 Child3

-> (Parent) Sony (переименовать | удалить | отключить)

Child 1 Child 2 Child 3

rename, delete и diasble должны быть кнопками ссылок,Я пробовал с функцией метки и другими методами, но не смог получить точную заявку.Пожалуйста, помогите мне, как этого добиться.

Ответы [ 2 ]

2 голосов
/ 18 апреля 2011

Используйте ItemRendrer, примеры (включая дерево) можно найти на Использование средства визуализации элементов с элементом управления Tree

EDIT. См. Также пример: Флажок Flex 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;



        }


    }
}
0 голосов
/ 18 апреля 2011

Вам необходимо использовать средства визуализации элементов, чтобы добавить дополнительную функциональность к строкам.Примерно так:

<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>

Вам понадобится какая-то логиказнать, следует ли отображать кнопки ссылок;Я бы просто добавил состояния и добавил / удалил их, если у данных есть дети или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...