前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Dev XtraTreeList 学习

Dev XtraTreeList 学习

作者头像
跟着阿笨一起玩NET
发布2018-09-19 16:00:11
1.8K0
发布2018-09-19 16:00:11
举报

本文转载: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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-10-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档