DevExpress使用经验分享:Treelist拖拽节点
来源:互联网 发布:淘宝网怎么看评价管理 编辑:程序博客网 时间:2024/05/16 03:33
本篇要实现的目标,简单来说就是把一个DevExpress treelist的节点用鼠标拖到另外的节点(自身或其他的listview)上,如下图:
(图一)
(图二)
(图三)
首先,在窗口中拉入两个listview,第一个创建三列(上),第二个创建两列(下),如下图:
为第一个listview创建一些节点:
定义一个取得拖拽对象中节点的方法:
private TreeListNode GetDragNode(IDataObject data) { return (TreeListNode)data.GetData(typeof(TreeListNode)); }
在两个treelist中同时定义DragDrop(鼠标松开)和DragEnter(开始拖拽)事件:
private void treeList1_DragDrop(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))); InsertBrush(list,node,info.Node==null?-1:info.Node.Id); } private void treeList1_DragEnter(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 InsertBrush(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) InsertBrush(list, n, parent); }
现在就可以用鼠标实现两个列表的互拖了:
By蚂蚁拉车
扩展阅读:
DevExpress 2014.1强势来袭,欢迎下载体验!
0 0
- DevExpress使用经验分享:Treelist拖拽节点
- DevExpress TreeList使用心得
- DevExpress TreeList使用心得
- DevExpress TreeList使用心得
- 关于DevExpress.XtraTreeList.TreeList 使用
- Devexpress使用之:TreeList控件
- DevExpress的TreeList的使用
- DevExpress控件-TreeList使用总结
- DEVEXPRESS-----TREELIST 的 增加、删除节点
- TreeList 的 增加、删除节点-----DevExpress
- TreeList 的 增加、删除节点-----DevExpress
- TreeList 的 增加、删除节点-----DevExpress
- DevExpress TreeList 展开当前节点及父节点
- DevExpress--TreeList
- DevExpress使用心得六:自定义TreeList单元格
- DevExpress控件使用(ImageCollection,TreeList)
- DevExpress中TreeList的节点加载性能比较
- DevExpress XtraTreeList 节点拖拽
- Android中Animation动画的介绍及用法
- valgrind-linux下检测内存工具
- vc状态栏的使用
- Android 涉及到的设计模式
- 快乐就是这么简单
- DevExpress使用经验分享:Treelist拖拽节点
- mysql 字段类型总结----decimal,alter,enum
- Log4Net使用指南
- 打开PhotoShop时提示"AMT Subsystem Failure"错误的解决方法
- QVector使用心得(2014/4/15)
- 利用文件映射和多线程技术进行大文件排序(>200万记录数)
- Excel下载 java
- JavaScript总结
- 各个版本的JDK 下载路径