使用微软treeview时加上超链接后的一点问题,请用过的老大指点一下!

wwj9252003 2005-09-01 11:29:02
treeview是动态加载的,当我点击一级节点的时候,如果这个节点没有超链接,它可以展示下一级节点,但是如果这个节点有超链接,则它不会将下一级节点展开,而必须点击左边那个+号才能展开下一级节点?
问题:能否在响应超链接的同时,也能展开下一级节点,就和csdn的树一样!请大家不吝赐教,谢谢!
...全文
393 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
CodeProject-Jerry 2005-09-02
  • 打赏
  • 举报
回复
用超级连接 不要用JS
smile9961 2005-09-01
  • 打赏
  • 举报
回复
剛才打錯了,我是說:沒用過,但是不知道是不是可以在它的select事件中寫呢?
smile9961 2005-09-01
  • 打赏
  • 举报
回复
沒用過,但是不可以在它的select事件中寫呢?
wwj9252003 2005-09-01
  • 打赏
  • 举报
回复
刚试了一下,to:goody9807():SelectExpands 这个我本来就已经设为true,但是这个选项只有当我这个节点没有超链接或者js的时候,有效。当这个节点有超链接或者需要响应js的时候,无效!不知道是否我哪设的不对!
to: sunnystar365,俺的treeview的autopostback为空,好像无法使用你所提供的方法!
therainman 2005-09-01
  • 打赏
  • 举报
回复
收藏
sunnystar365 2005-09-01
  • 打赏
  • 举报
回复

private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)

{

this.AddSingleNode(null,"0"); //找出根节点

}

this.TreeView1.SelectedNodeIndex=""; //不选中任何节点

}


private void TreeView1_Expand(object sender, Microsoft.Web.UI.WebControls.TreeViewClickEventArgs e)
{
TreeNode nd = this.TreeView1.GetNodeFromIndex(e.Node); //找到触发事件的节点,即正在展开的节点

if(nd.Nodes[0].NodeData=="") //第一次加载,即只有“正在加载……”这一项

{

this.AddSingleNode(nd,nd.NodeData); //加载子节点

}

}



///

/// 只查找、添加单个节点下的子节点

///

/// 需要添加子节点的 TreeNode

/// 该节点的 NodeID

private void AddSingleNode(TreeNode node,string id)

{

if(node!=null && id!="0")

{

node.Nodes.Clear();//清空节点,主要是把“正在加载……”这一项移除

}

//DBSystem.ExecuteSQL tmp = new DBSystem.ExecuteSQL("T");
SqlDataReader sdr=Tv.GetTreeView_ByID(int.Parse(id));
DataTable dt=Tools.ConvertDataReaderToDataTable(sdr);//从数据库抓出数据

foreach(DataRow dr in dt.Rows) //历遍所有子节点

{

TreeNode nd = new TreeNode();

nd.NavigateUrl=dr["URL"].ToString(); //设置浏览的网址

nd.NodeData=dr["NodeID"].ToString(); //存放节点 ID

nd.Text=dr["NodeName"].ToString(); //设置节点名称



TreeNode child = new TreeNode(); //此节点只作为“nd”展开的依据,并无它意

child.Text="正在加载……";

nd.Nodes.Add(child);

if(node==null|| id=="0")

{

this.TreeView1.Nodes.Add(nd); //添加至根节点

}

else

{

node.Nodes.Add(nd); //添加子节点

}

}

}
goody9807 2005-09-01
  • 打赏
  • 举报
回复
~SelectExpands 属性是 设置

当选中一个接点时,是否自动展开该节点

可以动态设置此属性

wwj9252003 2005-09-01
  • 打赏
  • 举报
回复
听一位大虾说尽量不要用它的select事件,故没有在select里面处理。再顶!

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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