那位朋友帮忙提供一份 TreeView1后台添加方法,谢谢了。。。。3级以上的
------解决方案--------------------------------------------------------
给你个类似的例子参考!
后台添加---做一个页面往表里插数据就可以了。
可以放在一个表:
如:表TreeMenu
NodeId,ParentId,Text,Url
protected void Page_Load(object sender, EventArgs e)
{
BindCategoryTreeVew(CategoryView, true, "0");
}
public DataSet GetCategorys()
{
string ConnectionString = ConfigurationManager.AppSettings["ConnectionString"];
string sql = "select * from TreeMenu ";
SqlDataAdapter sda = new SqlDataAdapter(sql, ConnectionString);
DataSet ds = new DataSet();
sda.Fill(ds);
return ds;
}
public void BindCategoryTreeVew(TreeView treeView, bool isExpanded, string sSelectedData)
{
//将获取的数据转换为 一个DataTable
DataTable dt = GetCategorys().Tables[0];
treeView.Nodes.Clear();//清空 树的所有节点
//获取与排序顺序中的筛选器以及指定的状态相匹配的所有System.Data.DataRow 数组
DataRow[] rowlist = dt.Select("ParentId='0'");
if (rowlist.Length <= 0) return;
//创建跟节点
TreeNode rootNode = new TreeNode();
//设置根节点的属性
rootNode.Text = rowlist[0]["Text"].ToString();
//设置根节点的值
rootNode.Value = rowlist[0]["NodeId"].ToString();
rootNode.Expanded = isExpanded;
rootNode.Selected = true;
//添加跟节点
CategoryView.Nodes.Add(rootNode);
CreateChildNode(rootNode, dt, isExpanded, sSelectedData);
}
private void CreateChildNode(TreeNode parentNode, DataTable dt, bool isExpanded, string sSelecedData)
{
//选择数据,添加排序表达市
DataRow[] rowList = dt.Select("ParentId=" + Convert.ToInt32(parentNode.Value));
foreach (DataRow row in rowList)
{
//创建一个新的节点了
TreeNode node = new TreeNode();
node.Text = row["Text"].ToString();
node.Value = row["NodeId"].ToString();
node.NavigateUrl=row["Url"].ToString();
node.Expanded = isExpanded;
if (node.Value == sSelecedData)
{
node.Selected = true;
}
parentNode.ChildNodes.Add(node);
//递归调用,创建其他节点
CreateChildNode(node, dt, isExpanded, sSelecedData);
}
}