资源简介
C#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 WinformModel
{
public partial class TreeViewForm : Form
{
public TreeViewForm()
{
InitializeComponent();
tvLeft.CheckBoxes = true;
tvLeft.AfterCheck += new TreeViewEventHandler(tvLeft_AfterCheck);
}
void tvLeft_AfterCheck(object sender TreeViewEventArgs e)
{
if (e.Action != TreeViewAction.Unknown)
{
CheckAllChildNodes(e.Node e.Node.Checked);
//选中父节点
bool bol = true;
if (e.Node.Parent != null)
{
for (int i = 0; i < e.Node.Parent.Nodes.Count; i++)
{
if (!e.Node.Parent.Nodes[i].Checked)
bol = false;
}
e.Node.Parent.Checked = bol;
}
}
}
#region 选中子节点
public void CheckAllChildNodes(TreeNode treeNode bool nodeChecked)
{
foreach (TreeNode node in treeNode.Nodes)
{
node.Checked = nodeChecked;
if (node.Nodes.Count > 0)
{
this.CheckAllChildNodes(node nodeChecked);
}
}
}
#endregion
private void TreeViewForm_Load(object sender EventArgs e)
{
// 加载默认数据
List list = new List() {
new TreeNodeClass(1“父节点1“0)
new TreeNodeClass(2“节点1-1“1)
new TreeNodeClass(3“节点1-2“1)
new TreeNodeClass(4“父节点2“0)
new TreeNodeClass(5“节点2-1“4)
new TreeNodeClass(6“节点2-2“4)
};
IEnumerable parentList = list.Where(p => p.parentId == 0);
tvLeft.Nodes.Clear();
foreach (TreeNodeClass pNode in parentList)
{
TreeNode parentNode = new TreeNode();
parentNode.Text = pNode.name;
IEnumerable childrenList = list.Where(p => p.parentId == pNode.id);
foreach (TreeNodeClass cNode in childrenList)
{
TreeNode childrenNode = new TreeNode();
childrenNode.Text = cNode.name;
parentNode.Nodes.Add(childrenNode);
}
this.tvLeft.Nodes.Add(parentNode);
}
}
///
/// 递归获取选择Node
///
///
///
public static List GetCheckedNode(TreeNodeCollection tnc)
{
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5817 2014-07-14 14:33 TreeViewForm.resx
文件 4630 2014-07-14 14:54 TreeViewForm.cs
文件 3061 2014-07-14 14:33 TreeViewForm.Designer.cs
----------- --------- ---------- ----- ----
13508 3
相关资源
- wpf 漂亮Treeview
- treeview实现多列显示及拖动节点
- wpf treeview checkbox
- C# 解决双击TreeView表里checkbox本身Bug问
- Treeview在winform中的运用从数据库动态
- 一个很漂亮的WPF TreeView
- WPF的TreeView带连接线样式[免费]
- WPF 带CheckBox的TreeView
- WPF TreeView递归异步绑定
- WPF自定义TreeViewItem 样式
- c#窗体中的DataGridView及TreeView的应用
- C# TreeView和ContextMenuStrip右键菜单增删
- C# wpf combobox带treeview的自定义控件
- C# 将一个Treeview的树形结构保存成文件
-
xm
l文件与WPF中TreeView、Menu交互 - wpf基于TreeView控件的Demo
- C#中为treeview加背景图
- wpf中给 treeview 添加 CheckBox和 ContextM
- 对C#的树型控件TREEVIEW添加背景图片
- C# 系统应用之TreeView控件显示树状磁盘
- WPF ComboboxTreeview
- 好看的Winform.TreeView
- Treeview控件用法基础
- C#遍历指定文件夹(并把数据加载到
- wpf-treeview 自定义漂亮的wpf树控件
- treeview c#编写的目录树(treeview)文件
- WPF下使用TreeView实现流程图效果
- WPF TreeView ListView 数据联动
- C# 简单的项目布局
- WPF做的左侧展开的标签控件类似TREE
评论
共有 条评论