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

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

  • 相关阅读:
    Kafka 再均衡监听器示例
    Spring boot中异步线程池
    【Java&Go并发编程系列】4.等待一组并发任务完成——CountDownLatch VS sync.WaitGroup
    Redis常用命令对应到Redisson对象操作
    Redisson教程
    Redisson官方文档
    Springboot 防止XSS攻击,包含解决RequestBody 的Json 格式参数
    防止XSS脚本注入-前端vue、后端springboot
    在Intellij IDEA中使用Debug
    appium 处理webview
  • 原文地址:https://www.cnblogs.com/51net/p/4015174.html
Copyright © 2011-2022 走看看