treenode,TreeNode Java
C# TreeNode的使用
首先更正:TreeNode他不是控件,他是一个对象名(节点对象),treeView1才是控件。
TreeNode newNode1 = treeView1.Nodes.Add("电话簿");
这句话的意思是,定义一个TreeNode 节点类型对象,名称为newNode1 ,并为他赋值,赋值的内容是:treeView1控件的根节点Nodes,因为本来treeView1控件没有根节点,所以应该先添加根节点Nodes.Add("电话簿")根节点显示的内容就是电话簿。
newNode1.Nodes.Add(sdr[1].ToString());
这个意思是,在根节点newNode1处添加子节点,显示内容是sdr[1].ToString()。
Nodes不是根的意思,是“儿子”的意思。treeView1的Nodes,“儿子”可不就是根节点呗!newNode1.Nodes,这个是儿子的儿子,那就是二级节点了。
C#定义一个treenode
TreeNode root = new TreeNode();
root.Text = "根";
treeView1.Nodes.Add(root);
TreeNode node1 = new TreeNode();
node1.Text = "子节点";
root.Nodes.Add(node1);
遍历查找treenode
//LastID上一级节点,这里就是2了,parentNodetreeview控件名
public void PopulateTreeView(int LastID, TreeNode parentNode)
{
//由上一级ID,查询当前级的知识点
DataView dv = dt.GetClass("select * from [你的表] where PID=" + LastID.ToString() + " order by ID").DefaultView;
foreach (DataRowView drv in dv) //循环获取当前级节点
{
TreeNode myNode = new TreeNode(drv["mc"].ToString()); //创建新实例
myNode.Value = drv["ID"].ToString(); //获取节点ID
myNode.Collapse(); //折叠节点
parentNode.ChildNodes.Add(myNode); //把节点信息加入到parentNode中
PopulateTreeView(Convert.ToInt32(drv["ID"].ToString()), myNode); //循环该方法,获取当前节点下的下一级节点
}
}
ps.
调用这个方法即可PopulateTreeView(2,treeview1);
其中dt.GetClass()是一个查询数据库返回DataTable的方法~