資源簡介
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?????????????????????{
????????????????????????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
評論
共有 條評論