日本美女a级片_不卡免费视频_麻豆精品一区综合av在线_91国在线产_国产精品二三区_人妻av一区二区三区精品

技術支持 / 技術論壇 / 二次開發 / 【技術分享】【C#】樹列表的節點拖拽
【技術分享】【C#】樹列表的節點拖拽
帖子
14
精華
1
積分
154
二次開發 技術分享

樹列表的拖拽涉及三個NX的回調,需要在三個回調設置好規則之后才能進行拖拽操作。

            tree_control0.SetOnDropHandler(new Tree.OnDropCallback(OnDropCallback));
            tree_control0.SetIsDragAllowedHandler(new Tree.IsDragAllowedCallback(IsDragAllowedCallback));
            tree_control0.SetIsDropAllowedHandler(new Tree.IsDropAllowedCallback(IsDropAllowedCallback));

1.設置節點是否允許拖拽,下方設置的為父節點禁止拖拽。


        internal Node.DragType IsDragAllowedCallback(Tree tree, Node node, int columnId)
        {
            //是否允許拖動回調
            if (node.ParentNode != null)
            {
                return Node.DragType.All;
            }
            return Node.DragType.None;
        }


2.設置是否執行拖拽回調,執行的方式,下方為目標節點為父節點時,作為子節點放置到其中,如果有父節點,則放到該節點后面。

       /// <summary>
        /// 是否執行拖拽回調
        /// </summary>
        /// <param name="tree"></param>
        /// <param name="node">拖拽的節點</param>
        /// <param name="columnId"></param>
        /// <param name="targetNode">或拽到的目標節點</param>
        /// <param name="targetColumnId"></param>
        /// <returns></returns>
        public Node.DropType IsDropAllowedCallback(Tree tree, Node node, int columnId, Node targetNode, int targetColumnId)
        {
            //是否執行拖拽回調
            //SessionEx.WriteInformationWindow($"{targetNode.GetColumnDisplayText(0)}__{targetColumnId}");

            var dropType = targetNode.ParentNode == null ? Node.DropType.On : Node.DropType.After;
            return dropType;
        }


3.拖拽回調,拖拽發生后執行此處的內容,需要手工新建與移除拖拽后目標節點。

        internal bool OnDropCallback(Tree tree, Node[] nodes, int columnId, Node targetNode, int targetColumnId, Node.DropType dropType, int dropMenuItemId)
        {
            //拖動回調
            foreach (var node in nodes)
            {
                var nodeData = NodeDataManage.First(x => x.Node == node);
                Node newNode = tree.CreateNode(node.GetColumnDisplayText(0));

                if (dropType == Node.DropType.On)
                {
                    tree.InsertNode(newNode, targetNode, null, Tree.NodeInsertOption.Last);
                }
                else if (dropType == Node.DropType.After)
                {
                    var parent = targetNode.ParentNode;
                    tree.InsertNode(newNode, parent, targetNode, Tree.NodeInsertOption.First);
                }
                newNode.SetColumnDisplayText(1, node.GetColumnDisplayText(1));
                newNode.SetColumnDisplayText(2, node.GetColumnDisplayText(2));
                newNode.DisplayIcon = node.DisplayIcon;
                newNode.SelectedIcon = node.SelectedIcon;
                tree.DeleteNode(node);
            }

            return true;
        }
913 0 2024-04-19 10:43:10
by f3dexpress Nico
暫時還沒有回復評論

回復加入討論

回復
請選擇移動至版塊:
確認移動
主站蜘蛛池模板: 日韩在线精品中文字幕一区二区 | 日韩高清在线播放 | 日产精品久久久久久久久久王少妇 | 国产在线一二三四 | 国产免费无遮挡吸奶头视频 | 超碰免费视 | 欧美特黄一级片 | 亚洲av片不卡无码影视 | 免费在线a级片 | 久久国产精品久久久久 | 少妇伦子伦情品无吗 | 亚洲高清人人爽夜夜爽AV毛片 | 美日韩精品一区二区三区 | 中文字幕国产日韩 | 成人爽a毛片在线视频 | 高潮按摩久久久久久av免费 | 超碰人人透人人爽人人看 | 国产亚洲av片天天在线观看 | 一道本色| 成人精品一区二区三区视频播放 | 丁香五月天综合缴情网 | 久操97 | 一区二区黄色视频在线观看 | 国产成人精品二区 | 亚洲最新av无码中文字幕一区 | 成年人在线视频 | 日韩日韩日韩日韩 | 视频一区二区高清在线播放 | 无码韩国国产 | 国产在线不卡观看 | 欧美日韩一区不卡 | 国产一区二区三区日本在线观看 | 国产精品 - 去看片 久久人人爽人人爽 | 久久久国产一区二区三区丝袜 | 欧美伊人久久大香线蕉在观 | 亚洲色欧美色国产精品 | 成人国产亚洲精品A区天堂 国产成人精品午夜视频免费 | 99精品国产99久久久久久51 | 老年人品久久久无码中文字幕 | 蝴蝶视频成人免费 | 曰韩免费 |