您的位置:首页 > 编程语言 > ASP

ASP.NET TreeView 递归绑定数据

2012-02-22 10:06 381 查看
187713732asp.net交流群,希望有更多的人可以加入,大家可以互相学习,帮助需要帮助的人,帮助刚入门的同行或即将入门的同行解决问题。
DAL方法,BLL省略
publicstaticList<SysFun>GetSysFunByParentNodeId(intparentNodeid)
{
List<SysFun>listSysFun=newList<SysFun>();
stringsql="SELECT*FROM[MYBOOKSHOP].[dbo].[SysFun]WHEREParentNodeId=@parentNodeid";
SqlParameter[]par=
{
newSqlParameter("@parentNodeid",parentNodeid)
};
using(SqlDataReadersqlReader=DBHelper.GetReader(sql,CommandType.Text,par))
{
while(sqlReader.Read())
{
SysFunsysFun=newSysFun();
sysFun.NodeId=(int)sqlReader["NodeId"];
sysFun.DisplayName=sqlReader["DisplayName"].ToString();
sysFun.ParentNodeId=(int)sqlReader["ParentNodeid"];
listSysFun.Add(sysFun);
}
}
returnlistSysFun;
}

publicstaticList<SysFun>GetSysFun(intparentNodeid)
{
List<SysFun>listSysFun=newList<SysFun>();
stringsql="SELECT*FROM[MYBOOKSHOP].[dbo].[SysFun]WHEREParentNodeid=@parentNodeid";
SqlParameter[]par=
{
newSqlParameter("@parentNodeid",parentNodeid)
};
using(SqlDataReadersqlReader=DBHelper.GetReader(sql,CommandType.Text,par))
{
while(sqlReader.Read())
{
SysFunsysFun=newSysFun();
sysFun.NodeId=(int)sqlReader["NodeId"];
sysFun.DisplayName=sqlReader["DisplayName"].ToString();
sysFun.ParentNodeId=(int)sqlReader["ParentNodeid"];
listSysFun.Add(sysFun);
}
}
returnlistSysFun;
}
页面后台代码:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!Page.IsPostBack)
{
TVSysFun.ExpandDepth=0;
BindTreeView();
}

}
privatevoidBindTreeView()
{

List<SysFun>list=BookManager.GetSysFun(0);
//遍历父节点
foreach(SysFunparentNodeinlist)
{
TreeNodepNode=newTreeNode();
pNode.Value=parentNode.NodeId.ToString();
pNode.Text=parentNode.DisplayName.ToString();

//遍历父节点下的子节点
List<SysFun>childNode=BookManager.GetSysFunByParentNodeId(Convert.ToInt32(parentNode.NodeId));
foreach(SysFuncNodeinchildNode)
{
TreeNodenode=newTreeNode();
node.Value=cNode.NodeId.ToString();
node.Text=cNode.DisplayName.ToString();
pNode.ChildNodes.Add(node);
}
TVSysFun.Nodes.Add(pNode);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: