110,539
社区成员
发帖
与我相关
我的任务
分享
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
AddTreeNode(0, (TreeNode)null);
}
}
//新建树
private void AddTreeNode(int parentId, TreeNode pNode)
{
SqlConnection con = new SqlConnection("数据库连接字符串");
SqlCommand cmd = new SqlCommand("select * from [City] where ParentID =" + parentId, con);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adapter.Fill(ds, "temp");
TreeNode treenode = new TreeNode();
DataView dv = new DataView(ds.Tables[0]);
//过滤parentId,得到当前节点的所有子节点
dv.RowFilter = "ParentID =" + parentId;
foreach (DataRowView drv in dv)
{
if (pNode == null)
{
//根节点
treenode.Text = drv["Name"].ToString(); //节点上要显示的名称
TreeView1.Nodes.Add(treenode); //将根节点加入到TreeView中去
treenode.Expanded = true;
//递归调用
AddTreeNode(Int32.Parse(drv["ID"].ToString()), treenode);
}
else
{
TreeNode tn = new TreeNode();
tn.Text = drv["Name"].ToString(); //节点上要显示的名称
pNode.ChildNodes.Add(tn);//添加子节点
tn.Expanded = true;
//递归调用
AddTreeNode(Int32.Parse(drv["ID"].ToString()), tn);
}
}
}
// 清空树菜单所有节点
this.treeview1.Nodes.Clear();
// 构建用户组根节点
TreeNode Root = new TreeNode() { Text = "用户组", Name = "tvGroupRoot" };
this.treeview1.Nodes.Add(Root);
foreach (DataRow row in tableGroup.Rows)
{
Root.Nodes.Add(new TreeNode() { Text = row["GroupName"] + string.Empty, Tag = row["ID"] + string.Empty });
}
// 展开所有节点
this.treeview1.ExpandAll();
// 清空树菜单所有节点
this.treeview1.Nodes.Clear();
// 构建用户组根节点
TreeNode Root = new TreeNode() { Text = "用户组", Name = "tvGroupRoot" };
this.treeview1.Nodes.Add(Root);
foreach (DataRow row in tableGroup.Rows)
{
groupRoot.Nodes.Add(new TreeNode() { Text = row["GroupName"] + string.Empty, Tag = row["ID"] + string.Empty });
}
// 展开所有节点
this.treeview1.ExpandAll();