怎样将一个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
关键字: WinForms XtraTreeList
评论列表
暂无评论
请谈谈你的看法 请使用IE或者Firefox浏览器,暂不支持Chrome!
慧都控件网为DevExpress界面控件的中国地区唯一正式授权经销商,正版控件销售公司,授权代理商,经销商及合作伙伴。
电话:400-700-1020
023-66090381
邮箱:sales@evget.com