DevExpress控件使用交流,DevExpress中国社区 售前咨询
当前位置: 首页 > 开发资源 » 示例代码 » 怎样将一个DevExpress XtraTreeList节点拖到另一个XtraTreeList中

怎样将一个DevExpress XtraTreeList节点拖到另一个XtraTreeList中

作者:huhm   来源:本站   浏览:Loading...次   发布时间:2012-03-01   评论:0条

先获取选中的节点,再处理将节点拖入另一个XtratreeList时的OnDragDrop方法。

关键代码:

private void OnDragEnter(object sender, DragEventArgs e)

        {

            TreeList list = (TreeList)sender;

            TreeListNode node = GetDragNode(e.Data);

            if (node != null && node.TreeList != list)

                e.Effect = DragDropEffects.Copy;

        }

 

        private void OnDragDrop(object sender, DragEventArgs e)

        {

            TreeListNode node = GetDragNode(e.Data);

            if (node == null) return;

            TreeList list = (TreeList)sender;

            if (list == node.TreeList) return;

            TreeListHitInfo info = list.CalcHitInfo(list.PointToClient(new Point(e.X, e.Y)));

            InsertBrunch(list, node, info.Node == null ? -1 : info.Node.Id);

        }

 

        private void InsertBrunch(TreeList list, TreeListNode node, int parent) {

            ArrayList data = new ArrayList();

            foreach (TreeListColumn column in node.TreeList.Columns)

                data.Add(node[column]);

            parent = list.AppendNode(data.ToArray(), parent).Id;

 

            //如果拖拽节点有子节点,将子节点也一起拖入

            if (node.HasChildren)

                foreach (TreeListNode n in node.Nodes)

                    InsertBrunch(list, n, parent);

        }

点击下载示例

本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:DevExpress控件中文网 [http://www.devexpresscn.com/]
本文地址:http://www.devexpresscn.com/DevExpress-Resources/Demo-35.html

评论列表

暂无评论

请谈谈你的看法 请使用IE或者Firefox浏览器,暂不支持Chrome!

昵称 不填则默认为游客评论

DevExpress DXperience DXv2 v12

DevExpress DXperience 下载 download

DevExpress购买、价格、授权

慧都控件网为DevExpress界面控件的中国地区唯一正式授权经销商,正版控件销售公司,授权代理商,经销商及合作伙伴。

电话:400-700-1020
        023-66090381

邮箱:sales@evget.com

>>如何选择正规控件购买渠道

相关资源