一、设置载请保留地址http://www.cnblogs.com/vincentluo

使用dev的树控件(XtaTreeList)来显示有父子关系的分类,

数据库表中只要三列:ParentID,CategoryID,CategoryName;

将控件的属性ParentFieldName设置为ParentID,属性KeyFieldName设置为CategoryID;

先上图,如下图所示:

点击Run Designer,先添加两列,设置他们的FieldName,这样用来绑定数据;分类编号的Visible=false可以进行隐藏;

如下图:

二、绑定 载请保留地址http://www.cnblogs.com/vincentluo

数据绑定很简单了

返回DataTable就可以了:

   private void BindCategories()        {            DataTable dt = Info.Get_Categories();            tlCategoryList.DataSource = dt;        }

三、操作载请保留地址http://www.cnblogs.com/vincentluo

鼠标单击节点时,获取节点信息

private string CategoryID = null;private string CategoryName = null;private void tlCategoryList_MouseDown(object sender, MouseEventArgs e)        {#region 获取点击节点的信息            TreeListHitInfo hi = tlCategoryList.CalcHitInfo(e.Location);            TreeListNode CurrentNode = hi.Node;if (CurrentNode != null)            {                CategoryID = CurrentNode.GetValue("CategoryID").ToString();                CategoryName = CurrentNode.GetValue("CategoryName").ToString();            }#endregionif (e.Button == MouseButtons.Left)//左键            {//Do something                lblCategoryName.Text = CategoryName;            }else if (e.Button == MouseButtons.Right)//右键            {//Do something            }        }

另:右键的弹出菜单使用了ContextMenuStrip,添加相关节点,绑定到XtaTreeList即可:设置XtaTreeList的ContextMenuStrip

菜单的单击事件:

 private void treeShowMenu_ItemClicked(object sender, ToolStripItemClickedEventArgs e)        {            ShowDialogForm sdf = new ShowDialogForm("提示","正在加载,请稍候......");            ToolStripItem item = e.ClickedItem;

if (item.Name == "MenuAddCategory")            {                CategoryEditFrm.GetInstance(-1,0);            } if (item.Name == "MenuAddChildCategory")            {                CategoryEditFrm.GetInstance(int.Parse(CategoryID), 1);            }if (item.Name == "MenuEditCategory")            {                CategoryEditFrm.GetInstance(int.Parse(CategoryID),2);            }else if (item.Name == "MenuEditLink")            {                LinkEditFrm.GetInstance();            }

然后进入编辑页面,如下图:

保存提示:(提示效果见:Dev 等待提示 WaitDialogForm 另外版)

四、最后 转载请保留地址http://www.cnblogs.com/vincentluo

dev 的XtraTreeList很强大,可以选择节点然后直接进行拖动,本篇暂时写这么多,如果有更新的会另开随笔记录下来,更多功能待发觉;

大家有更好的建议,请多多指导

转载请保留地址http://www.cnblogs.com/vincentluo


转载于:https://www.cnblogs.com/VincentLuo/archive/2012/01/06/2313983.html

Dev XtraTreeList 学习笔记相关推荐

  1. FMS Dev Guide学习笔记(SharedBall)

    一.开发交互式的媒体应用程序 1.共享对象(Shared objects) ----SharedBall example 这个SharedBall example创建了一个临时的远程共享对象.类似于多 ...

  2. FMS Dev Guide学习笔记(验证客户端)

    一.开发交互式的媒体应用程序 1.使用客户端对象的属性     当一个客户端连接上服务器上的一个应用,服务端就会创建一个包含这个客户端信息的客户端对象并且将它传递给application.onConn ...

  3. atomic原子类实现机制_JUC学习笔记--Atomic原子类

    Atomic 原子操作类包 Atomic包 主要是在多线程环境下,无锁的进行原子操作.核心操作是基于UnSafe类实现的CAS方法 CAS CAS: compareAndSwap :传入两个值:期望值 ...

  4. kvm虚拟化学习笔记(十七)之KVM到KVM之v2v迁移

    1.源KVM虚拟主机node1 (1).查看源KVM虚拟主机上的虚拟机列表,本文计划将CentOS6.5-01虚拟机迁移到其它KVM虚拟主机中. [root@node1 ~]# virsh list ...

  5. 嵌入式学习笔记之XMODEM

    背景 由于在实验环境中使用串口监视和控制,同时实验开发板处在一个密闭的环境中,不能随意插入usb来拷贝设备,这个时候如果想要在电脑和开发板中传输数据存在问题,下面我把自己使用的xmodem的使用方法写 ...

  6. kvm虚拟化学习笔记(十一)之kvm虚拟机扩展磁盘空间

    kvm虚拟机磁盘空间扩展与xen虚拟机磁盘空间扩展思路一致.原因在于xen/kvm默认的虚拟机磁盘格式为raw,所以方式可以通用. raw磁盘格式扩展思路如下 (1) 新添加一块raw格式的磁盘加入到 ...

  7. 用dblink能修改_【学习笔记】通过修改基表(link$)让非public dblink变为public

    天萃荷净 开发DBA反映创建好的Oracle DBLINK由于应用需要,要将其变为public dblink.由于忘记dblink的目标段的密码,使用修改基表(link$)让非public dblin ...

  8. python 学习笔记 12 -- 写一个脚本获取城市天气信息

    近期在玩树莓派,前面写过一篇在树莓派上使用1602液晶显示屏,那么可以显示后最重要的就是显示什么的问题了. 最easy想到的就是显示时间啊,CPU利用率啊.IP地址之类的.那么我认为呢,假设可以显示当 ...

  9. oracle查询当前归档scn_【学习笔记】Oracle数据库 查看归档日志存放的位置

    [学习笔记]Oracle数据库 查看归档日志存放的位置 时间:2016-10-21 19:19   来源:Oracle研究中心   作者:HTZ   点击: 次 天萃荷净 分享一篇关于查看Oracle ...

最新文章

  1. 学生成绩管理系统测试用例C语言,学生成绩管理系统测试用例.doc
  2. php获取用户的上5级用户
  3. IBASE archive pre-processing report RIBARCHV
  4. 关于高级导数的一个不等式估计
  5. Flow vs Jenkins 实操对比,如何将Java应用快速发布至ECS
  6. Google传奇Jeff Dean最新演讲:如何构建未来的机器学习芯片
  7. 【Vegas原创】巧用GridView ButtonField列
  8. session跨域共享解决方案
  9. python打印9宫格,25宫格等奇数格,且横竖斜相加和相等
  10. 一篇文章搞懂数据仓库:元数据分类、元数据管理
  11. 关键字private、static总结
  12. 通信中带宽与数据传输速率的联系与区别
  13. Python中while循环练习——打印星星总结
  14. excel不显示0_Excel数值为0不显示的三种解决方法
  15. CSS3D导航栏翻转效果
  16. 霍尼236主机说明书_霍尼韦尔plus-236报警主机
  17. Elasticsearch:运用 Java 对索引文档进行搜索
  18. python打字机效果_如何在电脑键盘打字的时候有打字机的声音效果?
  19. 创建html自定义标签,如何为htm创建自定义标签
  20. 春招面试(1)- 中科院软件中心/中科院自动化研究所

热门文章

  1. Oracle 9i和10g安装后的基本环境与服务
  2. go结构体初始化_golang中结构体的初始化方法(new方法) | 学习笔记
  3. java的获取声音振幅_录音获取声音振幅波形显示
  4. 深入理解python.md_从python角度,理解进程,线程,协程.md-Go语言中文社区
  5. java保存文件的时候提示系统找不到路径_java.io.FileNotFoundException (系统找不到指定的路径。)...
  6. Farey Sequence(欧拉函数板子题)
  7. urlos 阻止访问ip_URLOS使用流程
  8. IDEA自动生成序列化ID
  9. vi/Vim的快速使用
  10. 荣耀手环支持华为鸿蒙系统吗,华为鸿蒙OS 2.0 来了!明年华为手机将全面支持鸿蒙系统...