加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

treeview 和数据源绑定

发布时间:2020-12-16 08:52:44 所属栏目:asp.Net 来源:网络整理
导读:? 前几天写了个ASP.NET程序,用到了treeview作为左边菜单,依据用户的角色来初始treeview,比较简单实用,所以现在总结一下,和博友们共享一下。 ? 首先需要一个关系数据库表结构:就这个结构 NodeId ModualID NodeName NodeURL 1 null head1 URL 2 null head2
? 前几天写了个ASP.NET程序,用到了treeview作为左边菜单,依据用户的角色来初始treeview,比较简单实用,所以现在总结一下,和博友们共享一下。
? 首先需要一个关系数据库表结构:就这个结构


NodeId ModualID NodeName NodeURL
1 <null> head1 URL
2 <null> head2 URL
3 <null> head3 URL
4 1 head11 URL
5 2 head21 URL
6 3 head31 URL

public?void?inimenu(string?strrole)
????????
{
????????????InitTree(
this.TreeView_Menu,?Appclass.TreeDataSet(strrole));????????????
????????}

//这里Appclass.TreeDataSet(strrole)为通过用户角色strrole来初始绑定treeview对应DataSetstatic?DataSet?TreeDataSet(?Role)
{
???


}


bool?InitTree(TreeView?treeview,?DataSet?ds)
????????
{
????????????treeview.Nodes.Clear();
????????????ds.Relations.Add(
"NodeRelation",?ds.Tables[0].Columns[NodeId],1)">ModualIDfalse);

????????????
foreach?(DataRow?dbRow?in?ds.Tables[].Rows)
????????????
{
????????????????
if?(dbRow.IsNull())
????????????????
{
????????????????????TreeNode?newNode?
=?CreateNode(dbRow[NodeName].ToString(),?dbRow[NodeURL].ToString());
????????????????????treeview.Nodes.Add(newNode);
????????????????????SubTree(dbRow,?newNode);
????????????????}

????????????}
??????????
????????????treeview.ExpandAll();
????????????
returntrue;
????????}



??
private?SubTree(DataRow?dbRow,?TreeNode?node)
????????
{
????????????
?(DataRow?childRow??dbRow.GetChildRows())
????????????
{
????????????????TreeNode?childNode?
?CreateNode(childRow[].ToString());
????????????????node.ChildNodes.Add(childNode);
????????????????SubTree(childRow,?childNode);
????????????}

????????}


????????
?TreeNode?CreateNode(?text,1)">?tag,?url)
????????
{
????????????TreeNode?node?
new?TreeNode();
????????????node.Text?
?text;
????????????node.Value?
?tag;
????????????node.NavigateUrl?
?url;
????????????
?node;
????????}



run ------>

可以了,呵呵

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读