重开一贴再问

redwrite 2008-12-19 05:19:56
C#2005 WebForm

我做了一个非常简单的树,当我点击树结点的时候(该树结点有子结点),弹出了一个页面,很奇怪啊,应该展开该结点才对啊,是不是要对该树进行某些设置啊,还是我的系统有问题啊。
哪位能告诉我一下,谢谢了

原贴:
http://topic.csdn.net/u/20081218/21/087b9f01-abce-4d08-8900-2a5a19cce2ff.html?seed=1099922285
...全文
78 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
浮生若梦丶 2008-12-19
  • 打赏
  • 举报
回复

/// <summary>
/// 菜单加载
/// </summary>
public void BindTree(string strAdminName, string strRoleName)
{
DataTable dtParent = tools.ConvertDataReaderToDataTable(bmdb.getParentMenu()); //父菜单表
DataTable dtRolePower = null;
if (strRoleName == "")
{//如果角色名为空,则以用户名查询角色权限
dtRolePower = tools.ConvertDataReaderToDataTable(bmdb.getPowerMenu(strAdminName, ""));//根据登录用户获取其所属角色拥有权限表
}
else
{
dtRolePower = tools.ConvertDataReaderToDataTable(bmdb.getPowerMenu("", strRoleName));//根据登录用户获取其所属角色拥有权限表
}
TreeView tvMenu = (TreeView)this.FindControl("tvMenu");
TreeNode PNode = null;
TreeNode CNode = null;
foreach (DataRow dr in dtParent.Rows)
{
PNode = new TreeNode();
PNode.Text = dr["MODULE_NAME"].ToString(); //父菜单名称
PNode.Value = dr["MODULEID"].ToString(); //父菜单值
PNode.SelectAction = TreeNodeSelectAction.Expand; //点击树展开属性
PNode.ExpandAll();
this.tvMenu.Nodes.Add(PNode);

//PNode.NavigateUrl = "javascript:return false;";

DataTable dtChild = tools.ConvertDataReaderToDataTable(bmdb.getChildMenu(Convert.ToInt32(PNode.Value)));
for (int i = 0; i < dtChild.Rows.Count; i++)
{
CNode = new TreeNode(); //必须声明
CNode.Text = dtChild.Rows[i]["MODULE_NAME"].ToString();
CNode.Value = dtChild.Rows[i]["MODULEID"].ToString();

//CNode.NavigateUrl = dtChild.Rows[i]["MODULE_URL"].ToString(); //具体导航到的页面
foreach (DataRow dr2 in dtRolePower.Rows)
{
if (Convert.ToInt32(CNode.Value) == Convert.ToInt32(dr2[0].ToString()))
{
CNode.Checked = true;
}
}
PNode.ChildNodes.Add(CNode);
}
}
}
JustLovePro 2008-12-19
  • 打赏
  • 举报
回复
不会,点击左边的加号才会展开

110,530

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧