C# TreeView 显示不完全
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# TreeView 显示不完全相关的知识,希望对你有一定的参考价值。
//目录树设定
dtTemp = Global.pCheckDB.GetDataTableFromDB("SELECT * FROM [tabtree] WHERE ctype = 1");
dtTemp.Columns[0].ColumnName = "编号";
dtTemp.Columns[1].ColumnName = "项目";
dtTemp.Columns[2].ColumnName = "奴属";
if(dtTemp.Rows.Count > 0)
DataRow[] row = dtTemp.Select("奴属 = 0");
foreach(DataRow r in row)
TreeNode node = this.treeViewSchool.Nodes.Add(r[0].ToString(), r[1].ToString());
recursionShow(node, r[0].ToString());
else
this.treeViewSchool.Nodes.Add("1", "请增加项!");
void recursionShow(TreeNode nodes, string id)
DataRow[] row = dtTemp.Select("奴属 = " + id);
MessageBox.Show("上一级ID:"+id+"本级所属项数目:"+row.Length.ToString());
if (row != null)
foreach (DataRow r in row)
TreeNode node = nodes.Nodes.Add(r[0].ToString(), r[1].ToString());
recursionShow(node, r[0].ToString());
TreeNode recursionShow(TreeNode nodes, string id)
DataRow[] row = dtTemp.Select("奴属 = " + id);
MessageBox.Show("上一级ID:"+id+"本级所属项数目:"+row.Length.ToString());
if (row != null)
foreach (DataRow r in row)
TreeNode node = nodes.Nodes.Add(r[0].ToString(), r[1].ToString());
recursionShow(node, r[0].ToString());
然后那边接收的时候用一个TreeNode接收,
TreeNode newNode = recursionShow(node, r[0].ToString());
treeview1.Nodes.Add(newNode); 参考技术B 问题的根源在于void recursionShow(TreeNode nodes, string id)方法
TreeNode 是值传递 foreach 里面 TreeNode node = nodes.Nodes.Add(r[0].ToString(), r[1].ToString());这一句 是加不到 this.treeViewSchool.Nodes 里的追问
不会吧,能显示,只是同一级目录的两个子目录显示不出来,其他的都行
追答你把 void recursionShow(TreeNode nodes, string id) 方法 改成 void recursionShow(ref TreeNode nodes, string id)
把nodes 参数变成ref 试试 应该就没问题了
C#里treeview如何向指定NAME节点添加子节点?
C#里treeview向指定NAME节点添加子节点时应就这样做:
先要用treenode定义节点对象。
TreeView1.SelectedNode.ChildNodes.Add //给选中的添加。
TreeView1.Nodes[index].ChildNodes.Add //给指定index的节点添加。
TreeView控件用来显示信息的分级视图,如同Windows里的资源管理器的目录。TreeView控件中的各项信息都有一个与之相关的Node对象。
TreeView显示Node对象的分层目录结构,每个Node对象均由一个Label对象和其相关的位图组成。在建立TreeView控件后,我们可以展开和折叠、显示或隐藏其中的节点。
TreeView控件一般用来显示文件和目录结构、文档中的类层次、索引中的层次和其他具有分层目录结构的信息。
参考技术A TreeNode node2=new treeNode("node2")node2.text="自己定"
TreeView1.Node["NAME"].add(node2) //任意一个节点都可以添加节点集合,即子节点 参考技术B 新建节点
TreeNode treeNode=new TreeNode();
treeNode.Text=“test";
treeNode.Value="test";
添加节点
TreeView1.Nodes[i].ChildNodes[j].ChildNodes.Add(treeNode);
其中i,j分别代表 根节点和根节点下面的子节点
如果还想继续增加 那么 可以加k,l,M。。。等等
以上是关于C# TreeView 显示不完全的主要内容,如果未能解决你的问题,请参考以下文章
关于c#中treeview节点的收缩与展开(.net web)