这是一级
//表示在界面里加了一个分类管理的主菜单
TreeNode treenode = new TreeNode(ClientInfoSafeManage.Internationalization.ResourceConfig.GetStringByName("SortManage"));
//给主菜单加一个图标
treenode.ImageIndex = 0;
//调用了右键1级菜单
treenode.Tag = "menu1";
//加入主级菜单的节点
treeView1.Nodes.Add(treenode); for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
{
//判断第一个标的状态过程
if (ds1.Tables[0].Rows[i].RowState == DataRowState.Deleted)
continue;
//将第一个表里的SortTypeName字段里的名字直给node1
TreeNode node1 = new TreeNode(ds1.Tables[0].Rows[i][1].ToString().Trim());
//给1级菜单加个图标
node1.ImageIndex = 1;
//调用了右键2级菜单
node1.Tag = "menu2" + ds1.Tables[0].Rows[i]["SortTypeID"].ToString().Trim();
//把一级目录加到分类管理的下面
treenode.Nodes.Add(node1);
}
这是2级节点for (int j = 0; j < ds2.Tables[0].Rows.Count; j++)////////////////循环第2个表的总记录为j
{
if (datas2.Tables[0].Rows[j].RowState == DataRowState.Deleted)/////////////////////判断第2个表里的状态情况
continue;
for (int k = 0; k < treenode.Nodes.Count; k++)///////////////循环小于第一个表总数为K
{
//判断如果相等的话实行里面的
if (treenode.Nodes[k].Text.Trim() == getNameById(ds2.Tables[0].Rows[j][1].ToString().Trim()))
{
//将第2个表里的SortName名字复给node2
TreeNode node2 = new TreeNode(ds2.Tables[0].Rows[j][2].ToString().Trim());
//给2级菜单加一个图标
node2.ImageIndex = 2;
//调用右键菜单2级
node2.Tag = "menu4" + ds2.Tables[0].Rows[j]["SortID"].ToString().Trim();
//将2级节点加到1级下面
treenode.Nodes[k].Nodes.Add(node2);
}
}
}
上面都正确我现在如何加3级节点和4级节点呀如果在2级上怎么改呢
//表示在界面里加了一个分类管理的主菜单
TreeNode treenode = new TreeNode(ClientInfoSafeManage.Internationalization.ResourceConfig.GetStringByName("SortManage"));
//给主菜单加一个图标
treenode.ImageIndex = 0;
//调用了右键1级菜单
treenode.Tag = "menu1";
//加入主级菜单的节点
treeView1.Nodes.Add(treenode); for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
{
//判断第一个标的状态过程
if (ds1.Tables[0].Rows[i].RowState == DataRowState.Deleted)
continue;
//将第一个表里的SortTypeName字段里的名字直给node1
TreeNode node1 = new TreeNode(ds1.Tables[0].Rows[i][1].ToString().Trim());
//给1级菜单加个图标
node1.ImageIndex = 1;
//调用了右键2级菜单
node1.Tag = "menu2" + ds1.Tables[0].Rows[i]["SortTypeID"].ToString().Trim();
//把一级目录加到分类管理的下面
treenode.Nodes.Add(node1);
}
这是2级节点for (int j = 0; j < ds2.Tables[0].Rows.Count; j++)////////////////循环第2个表的总记录为j
{
if (datas2.Tables[0].Rows[j].RowState == DataRowState.Deleted)/////////////////////判断第2个表里的状态情况
continue;
for (int k = 0; k < treenode.Nodes.Count; k++)///////////////循环小于第一个表总数为K
{
//判断如果相等的话实行里面的
if (treenode.Nodes[k].Text.Trim() == getNameById(ds2.Tables[0].Rows[j][1].ToString().Trim()))
{
//将第2个表里的SortName名字复给node2
TreeNode node2 = new TreeNode(ds2.Tables[0].Rows[j][2].ToString().Trim());
//给2级菜单加一个图标
node2.ImageIndex = 2;
//调用右键菜单2级
node2.Tag = "menu4" + ds2.Tables[0].Rows[j]["SortID"].ToString().Trim();
//将2级节点加到1级下面
treenode.Nodes[k].Nodes.Add(node2);
}
}
}
上面都正确我现在如何加3级节点和4级节点呀如果在2级上怎么改呢
treeView1.Nodes.Add("Parent");
treeView1.Nodes[0].Nodes.Add("Child 1");
treeView1.Nodes[0].Nodes.Add("Child 2");
treeView1.Nodes[0].Nodes[1].Nodes.Add("Grandchild");
treeView1.Nodes[0].Nodes[1].Nodes[0].Nodes.Add("Great Grandchild");
或则利用这个对象低归
icscs 著于2007-10-17 22:00:23
当你创建一个普通的WinForm应用程序或者一个网站的时候,你一定希望根据自己的目录、子目录动态地创建一颗树,不过你根本不可能知道究竟有多少级菜单(树节点)。本文,我将给你介绍一种解决的办法。