zoukankan      html  css  js  c++  java
  • Dev XtraTreeList 学习笔记

    一、设置载请保留地址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


  • 相关阅读:
    搞懂 Python 中多继承与Mixin设计模式
    Python 中的新式类和经典类的区别?
    值得收藏!15个 Pythonic 的代码示例
    windows启动nacos1.3.2
    Linux完成MySQL安装,本地连接时出现1064错误
    vagrant安装的坑
    AvaloniaUI TextBox 不能显示中文的问题解决
    [笔记] zookeeper 本地测试部署
    docker: Error response from daemon: Ports are not available
    smartsql 入门使用踩坑笔记
  • 原文地址:https://www.cnblogs.com/VincentLuo/p/2313983.html
Copyright © 2011-2022 走看看