大家都知道TreeView一般都是以XmlDataSource作为数据源,使用起来非常方便。但是有一个缺点就是不能动态的增加数据让TreeView获取,这样就需要TreeView动态的从数据库里获取数据,今天我把我的这个方法和大家分享一下(注意:我写的方法只能给大家提供一个参考的思路,具体的功能实现还需要根据你的数据库表字段,以及表结构的不同而来编写代码,但是总之整体的思路还是差不多的)
代码
IList<SysFun>sysfuns = SysFunManager.GetSysFunsByPidAndUid(user.UserId, 0);
foreach (SysFun sysfun in sysfuns)
{
TreeNode node = new TreeNode();//声明节点
node.Text = sysfun.DisplayName;//节点文字
node.NavigateUrl = sysfun.NodeURL;//转向地址
IList<SysFun> syss = SysFunManager.GetSysFunsByPidAndUid(user.UserId, sysfun.NodeId);
node.Expanded = false;
foreach (SysFun sys in syss)
{
TreeNode tree = new TreeNode();//声明节点
tree.Text = sys.DisplayName;//节点文字
tree.NavigateUrl = sys.NodeURL;//转向地址
node.ChildNodes.Add(tree);//将此节点加入到上级节点中
}
this.TreeView1.Nodes.Add(node);
}