VS2005 “System.Web.UI.WebControls.TreeNode”并不包含“Nodes”的定义Item_ID(节点ID) Item_Name(节点名) Parent_ID(父结点ID)
1 All 0
2 aaa 1
3 bbb 1
4 aaa_1 2
5 bbb_1 3
//页面初始化
private void Page_Load(object sender, System.EventArgs e)
{
// 定义数据库连接
SqlConnection sqlConection_Tree = new SqlConnection();
//初始化连接字符串
sqlConection_Tree.ConnectionString= Session["ConnString"].ToString();
//打开连接
sqlConection_Tree.Open();
//获取Faq树形目录节点
SqlDataAdapter sqlDataAdapter_Tree = new SqlDataAdapter("select Item_id,Item_name,Parent_ID from Para_item",sqlConection_Tree);
DataSet DataSet_Tree=new DataSet();
sqlDataAdapter_Tree.Fill(DataSet_Tree);
this.ViewState["DataSet_Tree"]=DataSet_Tree;//调用递归函数,完成树形结构的生成
AddTree(0, (TreeNode)null);
}
//递归添加树的节点参数ParentID为树的最大父结点
public void AddTree(int ParentID,TreeNode pNode)
{
DataSet DataSet_Tree=(DataSet) this.ViewState["DataSet_Tree"];
DataView DataView_Tree = new DataView(DataSet_Tree.Tables[0]);
//过滤ParentID,得到当前的所有子节点 ParentID为父节点ID
DataView_Tree.RowFilter = "[Parent_ID] = " + ParentID;
//循环递归
foreach(DataRowView Row in DataView_Tree)
{
//声明节点
TreeNode Node=new TreeNode() ;
//绑定超级链接
Node.NavigateUrl = "List.aspx?Item_ID="+Row["Item_ID"].ToString();
//开始递归
if(pNode == null)
{
//添加根节点
Node.Text = Row["item_name"].ToString();
TreeView_Tree.Nodes.Add(Node);
Node.Expanded=true; //节点状态展开
AddTree(Int32.Parse(Row["item_id"].ToString()), Node); //再次递归
}
else
{
//添加当前节点的子节点
Node.Text = Row["item_name"].ToString();
pNode.Nodes.Add(Node);
Node.Expanded = true; //节点状态展开
AddTree(Int32.Parse(Row["item_id"].ToString()),Node); //再次递归
}
}
//关闭连接
sqlConection_Tree.Close();
}生成的树型如下:
All
|-aaa
|-aaa_1
|-bbb
|-bbb_1
就是网上搞来的代码,但是会出错,,大侠。
1 All 0
2 aaa 1
3 bbb 1
4 aaa_1 2
5 bbb_1 3
//页面初始化
private void Page_Load(object sender, System.EventArgs e)
{
// 定义数据库连接
SqlConnection sqlConection_Tree = new SqlConnection();
//初始化连接字符串
sqlConection_Tree.ConnectionString= Session["ConnString"].ToString();
//打开连接
sqlConection_Tree.Open();
//获取Faq树形目录节点
SqlDataAdapter sqlDataAdapter_Tree = new SqlDataAdapter("select Item_id,Item_name,Parent_ID from Para_item",sqlConection_Tree);
DataSet DataSet_Tree=new DataSet();
sqlDataAdapter_Tree.Fill(DataSet_Tree);
this.ViewState["DataSet_Tree"]=DataSet_Tree;//调用递归函数,完成树形结构的生成
AddTree(0, (TreeNode)null);
}
//递归添加树的节点参数ParentID为树的最大父结点
public void AddTree(int ParentID,TreeNode pNode)
{
DataSet DataSet_Tree=(DataSet) this.ViewState["DataSet_Tree"];
DataView DataView_Tree = new DataView(DataSet_Tree.Tables[0]);
//过滤ParentID,得到当前的所有子节点 ParentID为父节点ID
DataView_Tree.RowFilter = "[Parent_ID] = " + ParentID;
//循环递归
foreach(DataRowView Row in DataView_Tree)
{
//声明节点
TreeNode Node=new TreeNode() ;
//绑定超级链接
Node.NavigateUrl = "List.aspx?Item_ID="+Row["Item_ID"].ToString();
//开始递归
if(pNode == null)
{
//添加根节点
Node.Text = Row["item_name"].ToString();
TreeView_Tree.Nodes.Add(Node);
Node.Expanded=true; //节点状态展开
AddTree(Int32.Parse(Row["item_id"].ToString()), Node); //再次递归
}
else
{
//添加当前节点的子节点
Node.Text = Row["item_name"].ToString();
pNode.Nodes.Add(Node);
Node.Expanded = true; //节点状态展开
AddTree(Int32.Parse(Row["item_id"].ToString()),Node); //再次递归
}
}
//关闭连接
sqlConection_Tree.Close();
}生成的树型如下:
All
|-aaa
|-aaa_1
|-bbb
|-bbb_1
就是网上搞来的代码,但是会出错,,大侠。
解决方案 »
- 头大了:关于c# 注册com后变量名大小写的问题
- C#从数据库中指定的表导出xml
- C#里面放gif怎么不动啊?
- IIS发布.net网站的问题
- fpspread控件里,如何将从数据库里读出的图片在cell里显示出来,以及如何调整图片大小,高手请指点!
- C#如何获取EXCEL中TextBox的值
- C#中,有没有哪个控件可以让所选择的内容,如:人名,可以实现选择多个项的?
- 封装字段是如何对属性进行约束的??
- ¥¥ 分步调试一切正常,直接运行就没动静了。比较郁闷,求助中......
- 怎么样引用其他类中定义的const 变量而不用重复定义?
- 用C#写Winform程序,怎么写代码让其随电脑启动而启动
- 控制台下streamwriter的问题
没有nodes的属性
好久不见1楼了
pNode.Nodes.Add(Node);
改成
pNode.ChildNodes.Add(Node);