TreeView绑定
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms; namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
List<NodeInfo> nodeInfoList = new List<NodeInfo>(); public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
Init();
LoadData(new NodeInfo(Guid.Empty, "", Guid.Empty),null);
} public void Init()
{
NodeInfo info1 = new NodeInfo(Guid.NewGuid(),"Node1",Guid.Empty);
NodeInfo info11 = new NodeInfo(Guid.NewGuid(), "Node11", info1.ID);
NodeInfo info111 = new NodeInfo(Guid.NewGuid(), "Node111", info11.ID); NodeInfo info2 = new NodeInfo(Guid.NewGuid(), "Node2", Guid.Empty);
NodeInfo info21 = new NodeInfo(Guid.NewGuid(), "Node21", info2.ID);
NodeInfo info22 = new NodeInfo(Guid.NewGuid(), "Node22", info2.ID); NodeInfo info3 = new NodeInfo(Guid.NewGuid(), "Node3", Guid.Empty);
NodeInfo info31 = new NodeInfo(Guid.NewGuid(), "Node31", info3.ID);
NodeInfo info311 = new NodeInfo(Guid.NewGuid(), "Node311", info31.ID); nodeInfoList.Add(info1);
nodeInfoList.Add(info11);
nodeInfoList.Add(info111);
nodeInfoList.Add(info2);
nodeInfoList.Add(info21);
nodeInfoList.Add(info22);
nodeInfoList.Add(info3);
nodeInfoList.Add(info31);
nodeInfoList.Add(info311);
} public void LoadData(NodeInfo nodeInfo,TreeNode parentNode)
{
List<NodeInfo> list =new List<NodeInfo>();
list = GetChildrenList(nodeInfo);
if (list == null || list.Count == )
{
return;
} foreach (NodeInfo info in list)
{
if (info.ParentID == nodeInfo.ID)
{
TreeNode node = new TreeNode(info.Name);
node.Tag = info;
if (info.ParentID == Guid.Empty)
{
treeView1.Nodes.Add(node);
}
else
{
parentNode.Nodes.Add(node);
}
LoadData(info, node);
}
}
} private List<NodeInfo> GetChildrenList(NodeInfo nodeInfo)
{
List<NodeInfo> list = new List<NodeInfo>();
list = nodeInfoList.FindAll(o => o.ParentID == nodeInfo.ID);
return list;
}
} public class NodeInfo
{
public Guid ID { get; set; }
public string Name { get; set; }
public Guid ParentID { get; set; } public NodeInfo(Guid id, string name, Guid parentId)
{
this.ID = id;
this.Name = name;
this.ParentID = parentId;
}
}
}
TreeView绑定的更多相关文章
- winform treeview 绑定文件夹和文件
转载:http://www.cnblogs.com/zhbsh/archive/2011/05/26/2057733.html #region treeview 绑定文件夹和文件 /// <su ...
- winform treeview绑定数据 DOM操作
form1 public void treeView() { // datatable 定义变量接收 传归来的值 DataTable Father = new BuMenDA().ConSql(); ...
- WPF TreeView绑定字典集合
<TreeView Name="Tree" HorizontalAlignment="Left" Height="269" Width ...
- WPF:TreeView绑定
namespace PostViewer { using System.Collections.ObjectModel; using System.ComponentModel; /// <su ...
- WPF TreeView绑定xaml的写法
方法一 <Window x:Class="TreeViewDemo.MainWindow" xmlns="http://schemas.microsoft.com/ ...
- C# treeview 绑定数据 【转】
private void bindTreeView1() { string sql = "select * from dm_category"; DataTable dt = db ...
- TreeView绑定无限层级关系类
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Bind_TV(TreeView1.Nodes); ...
- C# 中的treeview绑定数据库(递归算法)
近日面试的给我两道题目,一道是IQ测试,第二个就是题目所言 总共两个表 department(id int not null primary key,parentid int,name char(50 ...
- C# treeview绑定
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) ...
随机推荐
- PageViewController和UIPageControl
以前经常把这两个东西当成一回事, PageViewController像电子书那样,一页之中可以放几个childViewcontroller, 然后左右翻,当前frame显示几个viewcontro ...
- python 3.x 的装饰器笔记
今天学到了python的装饰器,感觉这个东西还是稍微有些复杂,所以记录下来,方便以后的查找.虽然标题是python 3.x的装饰器,但是我也没有怎么用过python 2.x,感觉上应该是和python ...
- SQL夯实基础(九)MySQL联接查询算法
书接上文<SQL夯实基础(八):联接运算符算法归类>. 这里先解释下EXPLAIN 结果中,第一行出现的表就是驱动表(Important!). 对驱动表可以直接排序,对非驱动表(的字段排序 ...
- test20181029 思考熊的马拉松
题意 思考熊的马拉松 问题描述 今年,n只思考熊参加了校园马拉松比赛.马拉松的赛道是环形的,每圈的长度是A,完成比赛需要跑L圈. 比赛中,甲领先乙很长距离,绕过一圈或多圈后从后面追上了乙的现象叫做&q ...
- drone 学习三 条件步骤
1. 基本格式 pipeline: slack: image: plugins/slack channel: dev + when: + branch: master 2. 几种条件类型 a. bra ...
- unity导入3dsMax源文件.max
https://blog.csdn.net/qq_28002559/article/details/53693621 首先unity导入3dsMax文件为什么要使用.max而不用.fbx,因为我不是做 ...
- EditPlus 3.41 p1115 0728注册码
EditPlus (2012-7-28 epp341p1115_0728) 注册码: 注册名:Free User 注册码:6AC8D-784D8-DDZ95-B8W3A-45TFA 注册名:Www.S ...
- CF 360E Levko and Game——贪心
题目:http://codeforces.com/contest/360/problem/E 官方题解与证明:http://codeforces.com/blog/entry/9529 一条可以调整的 ...
- 关于WCF引用方式之WCF服务寄宿控制台
1.创建解决方案WCFService 依次添加四个项目,如上图,Client和Hosting为控制台应用程序,Service和Service.Interface均为类库. 2.引用关系 Service ...
- xdebug : Debug session was finished without being paused
一.当调试模式出现说路径不匹配的时候,需要检查当前请求的URL和设置断点的是否在同样的位置 Debug session was finished without being paused It may ...