TreeView 循环加载数据

<span style="white-space:pre">	</span>TblAreaBLL bll = new TblAreaBLL();
        private void button1_Click(object sender, EventArgs e)
        {
            LoadDataToTree(this.treeView1.Nodes, bll.GetTblAreaListByID(0));
        }

        private void LoadDataToTree(TreeNodeCollection treeNode, List<TblArea> list)
        {
            foreach (TblArea arr in list)
            {
                TreeNode tree = treeNode.Add(arr.AreaName);
                tree.Tag = arr.AreaId;
                LoadDataToTree(tree.Nodes, bll.GetTblAreaListByID(arr.AreaId)); //递归循环
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            List<TblArea> list = bll.GetTblAreaList(); //获取所有的城市升级列表
            LoadDataToTree2(this.treeView1.Nodes, list, 0); //先加载所有省级列表
        }

        private void LoadDataToTree2(TreeNodeCollection treeNode, List<TblArea> list, int pid)
        {
            foreach (TblArea arr in list)
            {
                if (arr.AreaPId == pid)
                {
                    TreeNode tree = treeNode.Add(arr.AreaName);
                    tree.Tag = arr.AreaId;
                    LoadDataToTree2(tree.Nodes, list, arr.AreaId); //递归循环  直接在集合中查询。
                }
            }
        }
        //删除节点下的所有数据
        private void button3_Click(object sender, EventArgs e)
        {
            TreeNode node = this.treeView1.SelectedNode;
            if (node != null)
            {
                int areaId = (int)node.Tag;
                bll.DeleteTblAreaDiGui(areaId);
                this.treeView1.SelectedNode.Remove();
                MessageBox.Show("删除成功!");
            }
        }
from: http://www.cnblogs.com/han1982/p/4060440.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个完整的例子,演示如何在 tksheet 中使用 TreeView 进行双击编辑: ```python import tkinter as tk import tksheet # 创建一个 Tkinter 窗口 root = tk.Tk() root.geometry("400x300") # 创建一个 tksheet 控件并添加到窗口中 tksheet = tksheet.Sheet(root, headers=['Name', 'Age'], column_width=[100, 100]) tksheet.pack(fill="both", expand=True) # 向 TreeView 中添加一些数据 tksheet.treeview_insert(parent='', index='end', text='John', values=('30')) tksheet.treeview_insert(parent='', index='end', text='Mary', values=('25')) tksheet.treeview_insert(parent='', index='end', text='Tom', values=('35')) # 设置 TreeView 中的单元格为可编辑状态 tksheet.treeview_configure(column='#0', editable=True) tksheet.treeview_configure(column='#1', editable=True) # 创建一个双击事件的回调函数 def on_double_click(event): row = tksheet.treeview_selection()[0] column = event.column tksheet.treeview_edit(row=row, column=column) # 将回调函数绑定到 TreeView 的双击事件上 tksheet.treeview_bind("<Double-Button-1>", on_double_click) # 运行 Tkinter 主循环 root.mainloop() ``` 在上面的例子中,我们创建了一个 tksheet 控件,并向其中添加了一些数据。我们还将 TreeView 中的单元格设置为可编辑状态,并创建了一个双击事件的回调函数。该回调函数在用户双击某个单元格时被调用,它获取被选中的行和用户双击的列,并调用了 `tksheet.treeview_edit()` 方法来启用编辑模式。最后,我们将回调函数绑定到 TreeView 的双击事件上,并运行了 Tkinter 主循环
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值