怎样遍历treeview,并在叶子节点设置其NavigateUrl 怎样遍历treeview,并在叶子节点设置其NavigateUrl?其它节点不设置NavigateUrl. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 it is easy.give every leaf a property then all is ok //遍历根节点private void ConstructTree(int commentID){ //获得url rootNode.NavigateUrl = "ShowComment.aspx?commentID="+moduleView[i].Row["SCID"].ToString();//递归子节点RecursionTreeNode(moduleView[i].Row["SCID"].ToString(),rootNode);}//递归子节点private void RecursionTreeNode(string ParentModuleID,TreeNode rootNode){RecursionTreeNode(ParentModuleID,tempNode);} hhbeginer(羅严克拉姆)谢谢你的代码,我试试看:) hhbeginer(羅严克拉姆)由于本人技术上的不争气:) 还是麻烦你把全部代码贴出来吧!! private void ConstructTree(int commentID) { try { treeModuleFun.Nodes.Clear(); // 获得所有模块信息 ds =commentBus.GetCommentInfo(commentID); DataView moduleView = ds.Tables[0].DefaultView; // 首先取得所有根模块 //moduleView.RowFilter = "ParentID" + "='-1'"; moduleView.Sort = "AddTime"; for(int i = 0;i < moduleView.Count;i++) { TreeNode rootNode = new TreeNode(); // 给节点绑定显示值] if(moduleView[i].Row["Content"].ToString().Length>25) { rootNode.Text = "<font color=white>"+moduleView[i].Row["Content"].ToString().Substring(0,25)+"......</font>"; } else { rootNode.Text = "<font color=white>"+moduleView[i].Row["Content"].ToString()+"</font>"; } // 展开时显示的图片 rootNode.ExpandedImageUrl = "/WebUI/images/Show.gif"; // 显示的图片 rootNode.ImageUrl = "/WebUI/images/Hide.gif"; // 默认根结点为展开 if(commentID == int.Parse(moduleView[i].Row["SCID"].ToString())) rootNode.Expanded = true; else rootNode.Expanded = false; // 设置节点的目标窗体 // rootNode.Target = strTarget; // 设置节点的URL rootNode.NavigateUrl = "ShowComment.aspx?commentID="+moduleView[i].Row["SCID"].ToString(); // 在树控件中添加根节点 treeModuleFun.Nodes.Add(rootNode); // 递归添加根节点的子节点 RecursionTreeNode(moduleView[i].Row["SCID"].ToString(),rootNode); } } catch(Exception ex) { lblContent.Text = ex.ToString(); } } /// <summary> /// 递归取得子节点 /// </summary> /// <param name="ParentModuleID">父节点ID</param> /// <param name="rootNode"></param> private void RecursionTreeNode(string ParentModuleID,TreeNode rootNode) { SpecialCommentBus commentBus = new SpecialCommentBus(); //获得所有子ID DataSet dsNode = commentBus.GetCommentNode(int.Parse(ParentModuleID)); try { foreach(DataRow row in dsNode.Tables[0].Rows) { TreeNode tempNode = new TreeNode(); // 给节点绑定显示值 if(row["Content"].ToString().Length>25) { tempNode.Text = "<font color=white>"+row["Content"].ToString().Substring(0,25)+"......</font>"; } else { tempNode.Text = "<font color=white>"+row["Content"].ToString()+"</font>"; } // 添加子节点 rootNode.Nodes.Add(tempNode); rootNode.Expanded = true; // 节点显示图片 tempNode.ImageUrl = "/WebUI/images/text.gif"; // 设置节点的目标窗体 //tempNode.Target = strTarget; // 设置节点的URL tempNode.NavigateUrl = "ShowComment.aspx?commentID="+row["SCID"].ToString(); ParentModuleID = row["SCID"].ToString(); // 递归添加子节点 RecursionTreeNode(ParentModuleID,tempNode); } } catch(Exception ex) { lblContent.Text = ex.ToString(); } } 数据库主要是设个ID 和parentID 就好了 搜索关键字颜色问题 .net按钮onmouseover、onmouseout 上传图片 到 其它服务器,高手进,在线等... 虚拟目录绑定域名怎么实现? [馨郁星愿]ajax的郁闷问题,求解决方法 如何用 javascript 控制 datagrid 控件中的 checkbox 全选 ??? 为什么会出现这样的错误???“在不带括号的情况下引用了方法”。。 DataGrid输出到Excel的时候,怎么样添加页眉和页脚.(500分,解决问题绝不失言) 文件打开的权限 求助高手~~为何初始化页面之后显示不出来。。 datagrid中的一个绑定问题? 一个datagrid中使用模板列的问题
give every leaf a property then all is ok
private void ConstructTree(int commentID)
{
//获得url
rootNode.NavigateUrl = "ShowComment.aspx?commentID="+moduleView[i].Row["SCID"].ToString();
//递归子节点
RecursionTreeNode(moduleView[i].Row["SCID"].ToString(),rootNode);}
//递归子节点
private void RecursionTreeNode(string ParentModuleID,TreeNode rootNode)
{
RecursionTreeNode(ParentModuleID,tempNode);
}
谢谢你的代码,我试试看:)
{
try
{
treeModuleFun.Nodes.Clear();
// 获得所有模块信息
ds =commentBus.GetCommentInfo(commentID);
DataView moduleView = ds.Tables[0].DefaultView;
// 首先取得所有根模块
//moduleView.RowFilter = "ParentID" + "='-1'";
moduleView.Sort = "AddTime";
for(int i = 0;i < moduleView.Count;i++)
{
TreeNode rootNode = new TreeNode();
// 给节点绑定显示值]
if(moduleView[i].Row["Content"].ToString().Length>25)
{
rootNode.Text = "<font color=white>"+moduleView[i].Row["Content"].ToString().Substring(0,25)+"......</font>";
}
else
{
rootNode.Text = "<font color=white>"+moduleView[i].Row["Content"].ToString()+"</font>";
}
// 展开时显示的图片
rootNode.ExpandedImageUrl = "/WebUI/images/Show.gif";
// 显示的图片
rootNode.ImageUrl = "/WebUI/images/Hide.gif";
// 默认根结点为展开
if(commentID == int.Parse(moduleView[i].Row["SCID"].ToString()))
rootNode.Expanded = true;
else
rootNode.Expanded = false;
// 设置节点的目标窗体
// rootNode.Target = strTarget;
// 设置节点的URL
rootNode.NavigateUrl = "ShowComment.aspx?commentID="+moduleView[i].Row["SCID"].ToString();
// 在树控件中添加根节点
treeModuleFun.Nodes.Add(rootNode);
// 递归添加根节点的子节点
RecursionTreeNode(moduleView[i].Row["SCID"].ToString(),rootNode);
}
}
catch(Exception ex)
{
lblContent.Text = ex.ToString();
}
}
/// 递归取得子节点
/// </summary>
/// <param name="ParentModuleID">父节点ID</param>
/// <param name="rootNode"></param>
private void RecursionTreeNode(string ParentModuleID,TreeNode rootNode)
{ SpecialCommentBus commentBus = new SpecialCommentBus();
//获得所有子ID
DataSet dsNode = commentBus.GetCommentNode(int.Parse(ParentModuleID));
try
{
foreach(DataRow row in dsNode.Tables[0].Rows)
{
TreeNode tempNode = new TreeNode();
// 给节点绑定显示值
if(row["Content"].ToString().Length>25)
{
tempNode.Text = "<font color=white>"+row["Content"].ToString().Substring(0,25)+"......</font>";
}
else
{
tempNode.Text = "<font color=white>"+row["Content"].ToString()+"</font>";
}
// 添加子节点
rootNode.Nodes.Add(tempNode);
rootNode.Expanded = true;
// 节点显示图片
tempNode.ImageUrl = "/WebUI/images/text.gif";
// 设置节点的目标窗体
//tempNode.Target = strTarget;
// 设置节点的URL
tempNode.NavigateUrl = "ShowComment.aspx?commentID="+row["SCID"].ToString();
ParentModuleID = row["SCID"].ToString();
// 递归添加子节点
RecursionTreeNode(ParentModuleID,tempNode);
}
}
catch(Exception ex)
{
lblContent.Text = ex.ToString();
}
}