Asp.Net的TreeView如何绑定数据库
这是数据库idname01管理者0101部门1经理0102部门2经理0101001部门1员工0102001部门2员工管理者进入登陆后,可以看到所有的人,部门经理进入后,可...
这是数据库
id name
01 管理者
0101 部门1经理
0102 部门2经理
0101001 部门1员工
0102001 部门2员工
管理者进入登陆后,可以看到所有的人,
部门经理进入后,可以看见他手下的员工。
而员工进入后只能看见自己的信息。
我是个初学者,还请各位大虾不吝赐教!!!!
今日在线等一天!!!非常着急!!! 展开
id name
01 管理者
0101 部门1经理
0102 部门2经理
0101001 部门1员工
0102001 部门2员工
管理者进入登陆后,可以看到所有的人,
部门经理进入后,可以看见他手下的员工。
而员工进入后只能看见自己的信息。
我是个初学者,还请各位大虾不吝赐教!!!!
今日在线等一天!!!非常着急!!! 展开
2个回答
展开全部
//TreeData里存在的你从数据库得到的数据
DataTable TreeData
DataView view = new DataView(TreeData);
foreach (DataRowView row in view)
{
//name,id就是你的数据库数据
TreeNode tn = new TreeNode(row["name"].ToString(),row["id"].ToString());
tvwProject.Nodes[0].ChildNodes.Add(tn);
}
在绑定前,你可以截取字符串判断,看是哪个级别的。
如果是01,那么你绑定的时候数据不用做筛选,如果是0101,你的数据就得做筛选,然后再绑定。
至于筛选条件,你可以用ID的长度加上字符串截取判断,看看行不行,当然这只是我的一个建议。
筛选条件,你还得自己写
DataTable TreeData
DataView view = new DataView(TreeData);
foreach (DataRowView row in view)
{
//name,id就是你的数据库数据
TreeNode tn = new TreeNode(row["name"].ToString(),row["id"].ToString());
tvwProject.Nodes[0].ChildNodes.Add(tn);
}
在绑定前,你可以截取字符串判断,看是哪个级别的。
如果是01,那么你绑定的时候数据不用做筛选,如果是0101,你的数据就得做筛选,然后再绑定。
至于筛选条件,你可以用ID的长度加上字符串截取判断,看看行不行,当然这只是我的一个建议。
筛选条件,你还得自己写
展开全部
从数据库里读数据就不写了吧?假设你得到了一个存放数据实体数组叫emps[],里面放的全是emp实体.
foreach (Emp item in emps)
{
TreeNode pNode = new TreeNode();
if (item.ParentNodeId == 0)//父节点
{
pNode.Text = item.DisplayName;
pNode.Value = item.NodeId.ToString();
tvSide.Nodes.Add(pNode);
}//tvSide是TreeView的ID
else
{
TreeNode cNode=new TreeNode (item.DisplayName,item.NodeId.ToString());
foreach (TreeNode node in tvSide.Nodes)
{
if (item.ParentNodeId.ToString() == node.Value)
node.ChildNodes.Add(cNode);
}
}
}
权限的判断方法就多了,可以直接在读数据的时候就做好判断么,读到实体数组里的数据就是经过过滤的.
foreach (Emp item in emps)
{
TreeNode pNode = new TreeNode();
if (item.ParentNodeId == 0)//父节点
{
pNode.Text = item.DisplayName;
pNode.Value = item.NodeId.ToString();
tvSide.Nodes.Add(pNode);
}//tvSide是TreeView的ID
else
{
TreeNode cNode=new TreeNode (item.DisplayName,item.NodeId.ToString());
foreach (TreeNode node in tvSide.Nodes)
{
if (item.ParentNodeId.ToString() == node.Value)
node.ChildNodes.Add(cNode);
}
}
}
权限的判断方法就多了,可以直接在读数据的时候就做好判断么,读到实体数组里的数据就是经过过滤的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询