本文转载:http://www.cnblogs.com/VincentLuo/archive/2012/01/06/2313983.html

一、设置载请保留地址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();
}
#endregion
if (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

Dev XtraTreeList 学习的更多相关文章

  1. FMS Dev Guide学习笔记

    翻译一下其中或许对游戏开发有用的一个章节 一.开发交互式的媒体应用程序 1.共享对象(Shared objects)     ----关于共享对象     使用共享对象可以同步用户和存储数据.共享对象 ...

  2. FMS Dev Guide学习笔记(远程共享对象)

    一.开发交互式的媒体应用程序1.共享对象(Shared objects)    ----远程共享对象 在你创建一个远程共享对象之前,创建一个NetConnection对象并且连接到服务器.一旦你创建了 ...

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

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

  4. FMS Dev Guide学习笔记(权限控制)

    一.开发交互式的媒体应用程序 1.关于访问(权限)控制     当一个用户访问服务器的时候,默认情况下,他可以访问所有的流媒体文件和共享对象.但是你可以使用服务端ActionScript为流媒体文件和 ...

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

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

  6. [转载]FMS Dev Guide学习笔记(验证用户)

    一.开发交互式的媒体应用程序 1.使用外部资源验证用户 对于有限数量的客户,请求用户名密码,然后通过外部资源(像数据库.LDAP服务或其它访问授权服务)验证它们,是可行的.     a.SWF在请求连 ...

  7. [转载]FMS Dev Guide学习笔记(验证客户端二)

    一.开发交互式的媒体应用程序 1.使用unique key a. 在客户端ActionScript中创建一个unique key,如下代码所示,unique key的组成为本地电脑时间和一个随机数连接 ...

  8. Python 3 Anaconda 下爬虫学习与爬虫实践 (1)

    环境python 3 anaconda pip 以及各种库 1.requests库的使用 主要是如何获得一个网页信息 重点是 r=requests.get("https://www.goog ...

  9. liunux中的标准输出。以及常用的 2>dev/null 命令的含义

    了解Linux怎样处理输入和输出是非常重要的.一旦我们了解其原理以后,我们就可以正确熟练地使用脚本把内容输出到正确的位置.同样我们也可以更好地理解输入重定向和输出重定向. 首先我们来了解一下linux ...

随机推荐

  1. 【HDOJ】4729 An Easy Problem for Elfness

    其实是求树上的路径间的数据第K大的题目.果断主席树 + LCA.初始流量是这条路径上的最小值.若a<=b,显然直接为s->t建立pipe可以使流量最优:否则,对[0, 10**4]二分得到 ...

  2. 【HDOJ】1699 The comment in cpp

    注意测试数据12/*hduacm// abcd结果是1/*hduacm// ABCD /* 1699 */ #include <iostream> #include <sstream ...

  3. 代理服务器squid

    http://www.baidu.com/s?wd=squid%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A8&f=12&rsp=0& ...

  4. 1671. Anansi's Cobweb(并查集)

    1671 并查集 对于询问删除边之后的连通块 可以倒着加边 最后再倒序输出 #include <iostream> #include<cstdio> #include<c ...

  5. tyvj1161聚会的名单(trie树)

    背景 Background 明天就是candy的生日,candy又会邀请自己的一大堆好友来聚会了!哎!又要累坏飘飘乎居士了!! 描述 Description     明天就是candy的生日.晚上,c ...

  6. Project Euler 26 Reciprocal cycles

    题意:求1到n中所有数的倒数中循环小数循环体最长的数 解法:如果一个数的质因子只有2和5,那么这个数的倒数一定不是一个循环小数.如果一个数含有质因子2或5,那么它的循环体和去掉质因子2和5之后的数的循 ...

  7. [Bhatia.Matrix Analysis.Solutions to Exercises and Problems]ExI.5.6

    Let $A$ be a nilpotent operator. Show how to obtain, from aJordan basis for $A$, aJordan basis of $\ ...

  8. 自动化测试(三):QTP参数化

    1 Datatable参数化 Global表的数据可以被所有的action访问,Action的数据只能被对应的Action访问 本地表循环的次数设置:Action Call Properties Gl ...

  9. 设计模式_Flyweight_享元模式

    形象例子: 每天跟MM发短信,手指都累死了,最近买了个新手机,可以把一些常用的句子存在手机里,要用的时候,直接拿出来,在前面加上MM的名字就可以发送了,再不用一个字一个字敲了.共享的句子就是Flywe ...

  10. eclipse配置tomcat加大内存的方法

    双击tomcat -Dcatalina.base="E:\work\whykt\.metadata\.plugins\org.eclipse.wst.server.core\tmp0&quo ...