zoukankan      html  css  js  c++  java
  • TreeList控件使用1

    01.public partial class TLExample : DevExpress.XtraEditors.XtraForm  
    02.{
    03. DataTable dt = new DataTable();
    04. public TLExample()
    05. {
    06. InitializeComponent();
    07. dt.Columns.Add("ID",System.Type.GetType("System.String"));
    08. dt.Columns.Add("ParentID", System.Type.GetType("System.String"));
    09. dt.Columns.Add("TreeNode", System.Type.GetType("System.String"));
    10. }
    11.
    12. private void TLExample_Load(object sender, EventArgs e)
    13. {
    14. dt.Rows.Add("1", "0", "根节点");
    15. dt.Rows.Add("2", "1", "子节点1");
    16. dt.Rows.Add("3", "1", "子节点2");
    17. dt.Rows.Add("4", "1", "子节点3");
    18. dt.Rows.Add("5", "1", "子节点4");
    19. treeList1.DataSource = dt;
    20. }
    21.
    22.}
    
    

    1、添加基础表数据

    2、基础表中含有ID,ParentID两个字段用来组织树的父子结构。

    3、在Run Designer上设置显示列!

    3、将符合规则的数据表直接绑定到TreeList控件上!

    结果如图!

    可是在实际的数据库中往往不会存在上面那种很标准的(含有ID,ParentID的数据)。所以我们不能直接将数据绑定到控件上就必须对控件进行处理。

    解决方法:

    方法一:

    将数据库中的数据根据实际规则处理成含有ID跟ParentID的表,然后进行绑定。

    方法二:

    根据实际规则,逐层加载每个节点!

    下面对方法二用一个实例讲解!

    在电脑中,文件夹是一层层加载下去的就如同一个树,怎么样将系统中的链接加载到TreeList上以树的形式显示出来呢?

    怎么样把这树显示在TreeList中?

    系统中可以得知的数据:根节点\节点1   根节点\节点2  根节点\节点3

    解决步骤:

    1、加载第一级节点

    2、判断是否含有子节点,若含有则继续加载

    代码:

    1、加载第一级节点

    DataTable dt = new DataTable();

    TreeListNode tln;

    dt.Columns.Add("ID", System.Type.GetType("System.String"));

    dt.Columns.Add("TreeNode", System.Type.GetType("System.String"));

    DataRow drView = dt.NewRow();

    drView.BeginEdit();

    drView["ID"] = Guid.NewGuid();

    drView["TreeNode"] = "根节点";

    drView.EndEdit();

    tln = treeList1.AppendNode(drView.ItemArray,null);

    2、判断是否含有子节点

          private bool IsHasChild(string name)        {            string midpt = "";            name为当前路径            与系统路径比较            若相等则含有子节点 返回TRUE            若不等则不含有子节点 返回FALSE        }

    3、当含有子节点,则找到子节点并与第一步相同的操作将子节点加载到TreeList上!

    其中包含的一些详细的方法在下一节中给出!!!

  • 相关阅读:
    微信证书 javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
    【转】ubunt 安装 yum出现 ubuntu 解决“无法获得锁 /var/lib/dpkg/lock -open (11:资源暂时不可用)”的方法
    HTTP Status 500
    idea导入项目报错:文档中根元素前面的标记必须格式正确
    redis 存取问题
    maven项目怎么引入另一个maven项目
    如何解决failed to push some refs to git
    idea配置maven后提示 commond not found
    JMS规范简介
    java消息中间件的使用与简介
  • 原文地址:https://www.cnblogs.com/cwgyn/p/2382680.html
Copyright © 2011-2022 走看看