DEV系列--treeList用法2

不从数据库读数据,创建一个Datatable绑定到treeList上,效果图:


源代码:

using System;  
using System.Collections.Generic;  
using System.ComponentModel;  
using System.Data;  
using System.Drawing;  
using System.Text;  
using System.Linq;  
using System.Windows.Forms;  
using DevExpress.XtraEditors;  
using DevExpress.XtraTreeList.Nodes;  
using DevExpress.XtraTreeList;  
  
namespace lianxi  
{  
    public partial class Example_treelist : DevExpress.XtraEditors.XtraForm  
    {  
        public Example_treelist()  
        {  
            InitializeComponent();  
            create_Datatable();  
        }  
  
  
        //创建一个Datatable  
        private void create_Datatable()  
        {  
  
            treeList1.OptionsView.ShowCheckBoxes = true;//设置复选框  
              
            DataTable dt = new DataTable();  
            dt.Columns.Add("ID");  
            dt.Columns.Add("PARENTID");  
            dt.Columns.Add("NAME");  
  
            DataRow dr1 = dt.NewRow();  
            dr1["ID"] = 1;  
            dr1["PARENTID"] = 1;  
            dr1["NAME"] = "类目1";  
            dt.Rows.Add(dr1);  
            DataRow dr2 = dt.NewRow();  
            dr2["ID"] = 2;  
            dr2["PARENTID"] = 1;  
            dr2["NAME"] = "商品1";  
            dt.Rows.Add(dr2);  
            DataRow dr3 = dt.NewRow();  
            dr3["ID"] = 3;  
            dr3["PARENTID"] = 1;  
            dr3["NAME"] = "商品2";  
            dt.Rows.Add(dr3);  
            DataRow dr4 = dt.NewRow();  
            dr4["ID"] = 4;  
            dr4["PARENTID"] = 4;  
            dr4["NAME"] = "类目2";  
            dt.Rows.Add(dr4);  
            DataRow dr5 = dt.NewRow();  
            dr5["ID"] = 5;  
            dr5["PARENTID"] = 4;  
            dr5["NAME"] = "商品1";  
            dt.Rows.Add(dr5);  
            DataRow dr6 = dt.NewRow();  
            dr6["ID"] = 6;  
            dr6["PARENTID"] = 4;  
            dr6["name"] = "商品2";  
            dt.Rows.Add(dr6);  
  
            //TreeList绑定数据  
            this.treeList1.DataSource = dt;  
            this.treeList1.KeyFieldName = "ID";  
            this.treeList1.ParentFieldName = "PARENTID";  
            this.treeList1.Columns[0].Caption = "测试";//树的名称  
        }  
        //给节点添加点击事件  
        private void treeList1_MouseDown(object sender, MouseEventArgs e)  
        {  
            if (e.Button == MouseButtons.Right)  
            {  
                DevExpress.XtraTreeList.TreeListHitInfo hinfo = this.treeList1.CalcHitInfo(new Point(e.X,e.Y));  
                DevExpress.XtraTreeList.TreeListHitInfo hitInfo = (sender as TreeList).CalcHitInfo(new Point(e.X, e.Y));  
                TreeListNode node = hitInfo.Node;  
                if (hinfo.HitInfoType == DevExpress.XtraTreeList.HitInfoType.Cell)  
                {  
                    string aaa = node.Expanded.GetHashCode().ToString();  
                    string ab = node.GetValue("name").ToString();//获取当前节点的值  
                    if (hinfo.Node.RootNode.Id == hinfo.Node.Id)  
                    {  
                        popupMenu1.ShowPopup(Control.MousePosition);  
                        string ncount = node.Nodes.Count.ToString();  
                        string names = node.Nodes[1].GetValue("name").ToString();  
                        richTextBox1.Text = "子节点的总数是\"" + ncount + "\"" + "第二个字节点名称是\"" + names + "\"";  
   
                    }  
                    else  
                    {  
                        popupMenu2.ShowPopup(Control.MousePosition);  
                        string sname = node.ParentNode.GetValue("name").ToString();  
                        richTextBox1.Text = "根节点的名称是\"" + sname + "\"";  
                    }  
                }  
                treeList1.FocusedNode = node;  
            }  
        }  
  
         
        
  
          
    }  
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值