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) ...
随机推荐
- eclipse添加propedit插件
1.propedit插件 这个插件基本上可以支持各种语言的转换. 2.方法如下: “help”--“Install new software”--“add” name:propedit Locatio ...
- 关于java日期
时间戳转为yyyy-MM-dd SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String formatDa ...
- psoc4的中断笔记
psoc可以自定义中断服务函数.
- hadoop之 解析HDFS的写文件流程
文件是如何写入HDFS的 ? 下面我们来先看看下面的“写”流程图: 假如我们有一个文件test.txt,想要把它放到Hadoop上,执行如下命令: 引用 # hadoop fs - ...
- YARN的Fair Scheduler和Capacity Scheduler
关于Scheduler YARN有四种调度机制:Fair Schedule,Capacity Schedule,FIFO以及Priority: 其中Fair Scheduler是资源池机制,进入到里面 ...
- Oracle修改主键约束
项目需求,有张表,原有三个联合主键,现在需要再加一个字段进去,而恰恰这个字段可以为空的.去数据库捞了一把,还好数据都不为空: SQL> select count(*) from t_wlf_re ...
- windows下使用linux命令搜文件
在linux系统的黑幕下,我们只能通过find命令来搜文件,而在windows的界面里,我们只能通过搜索框来搜.两者各有利弊,前者单调但高效,后者用户体验好却比较慢.能不能在windows使用linu ...
- ASP.NET Ajax 客户端框架未能加载、"Sys"未定义
在Windows Server 2003 系统上部署asp.net项目出现以下问题: IIS为6.0 导致菜单控件的图片显示不出来: WebSite:程序中的图片显示正常. 但用到ASP.net 2. ...
- CArray,CList,CMap如何实例化
1.定义一个CMap,向这个CMap中增加数据项(键-值对).CMap<CString, LPCTSTR, CString, LPCTSTR>m_ItemMap;CString strKe ...
- Emacs golang用户代码无法补全问题
现象:Emacs使用company-go可以正常补全标准库函数和go get安装库函数:而对于自已写的代码,只能补全当前包下的变量和函数. 原因:company-go后台是使用了gocode,而goc ...