asp.net中TreeView控件是怎样使用的?
添加静态节点如图所示。
添加动态节点如下:
#region 动态添加节点
protected void CreateTreeNode(int roleId)
{
//创建一个集合,用于存放角色所能访问的URL
List<string> urlList = new List<string>();
//清空所有节点
TreeView1.Nodes.Clear();
//数据库中读出父节点名字
IList<R_UserRight> nodes = biz.GetParentRoleRightByUserRole(roleId);//读取数据库父节点的方法
//循环父节点
foreach (R_UserRight right in nodes)
{
//新建父节点
TreeNode node = new TreeNode();
//赋值父节点节点的文本
node.Text = right.ColumnList.ColumnName;
//根据父节点的Id查询所有的子节点
IList<R_UserRight> childNodes = biz.GetChildRoleRightByParentNode(roleId, right.ColumnList.ColumnId);//根据父节点的Id读取子节点的方法
//循环子节点
foreach (R_UserRight childRight in childNodes)
{
//新建子节点
TreeNode childNode = new TreeNode();
//赋值子节点节点的文本
childNode.Text = childRight.ColumnList.ColumnName;
//赋值子节点节点的链接地址
childNode.NavigateUrl = childRight.ColumnList.ColumnURL;
//子节点前的图片路径,如果想自定义treeview样式的时候,可是这么设置节点前的图片
//childNode.ImageUrl = "../img/CloseTree.gif";
//子节点加入到对应的父节点中
node.ChildNodes.Add(childNode);
}
//父节点加入到treeview
TreeView1.Nodes.Add(node);
}
}
#endregion
{
");//这里的dtTree是要创建tree的datasource,数据库中查询出来的
DataRow[] rows = dtTree.Select("ParentID='" + ParentID + "'
if (rows == null || rows.Length == 0) return;
foreach (DataRow myDRV in rows)
{
TreeNode tempNode = new TreeNode();
CheckBox cb = new CheckBox();
tempNode.Expanded = true;
tempNode.Value = myDRV["MenuID"].ToString();
tempNode.Target = myDRV["MenuCode"].ToString();
tempNode.ShowCheckBox = true;
if (Tree != null)
{
Tree.Nodes.Add(tempNode);
}
else
{
CurrNode.ChildNodes.Add(tempNode);
}
InitTree2(null, tempNode, tempNode.Value);
}
}