怎样用javascript控制treeview

garth 2003-03-14 11:11:29
我现在想通过javascript函数控制treeview的展开和收缩状态,如何实现
不想用服务器端的方法,so autopostback=false;

比如现在treeview的状态是展开的,如何不点击+号,而通过代码实现收拢
...全文
74 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hgknight 2003-03-17
  • 打赏
  • 举报
回复
to a2z(xyz就是……)
看来我得向MS申请点实惠:)
hgknight 2003-03-17
  • 打赏
  • 举报
回复
to do so

<%@ Register TagPrefix="iewc" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls, Version=1.0.2.226, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<HTML>
<HEAD>
</HEAD>
<body onload=btn_onclick()>
<form id="test" method="post" runat="server">
<iewc:TreeView id="TreeView1" runat="server" Width="156px" Height="105px" ExpandLevel="1">
<iewc:TreeNode Text="Node0" Expanded="True">
<iewc:TreeNode Text="Node2"></iewc:TreeNode>
</iewc:TreeNode>
<iewc:TreeNode Text="Node1" Expanded="True">
<iewc:TreeNode Text="Node3"></iewc:TreeNode>
</iewc:TreeNode>
</iewc:TreeView>
<p></p>
<input type="button" onclick="btn_onclick()" value="Button">
</form>
<script language="javascript">
function btn_onclick()
{
TreeView1.getTreeNode("0").setAttribute("Expanded",false);
TreeView1.getTreeNode("1").setAttribute("Expanded",false);
}
</script>
</body>
</HTML>
garth 2003-03-17
  • 打赏
  • 举报
回复
谢谢,给分
hgknight 2003-03-14
  • 打赏
  • 举报
回复
指定第一个节点收缩,第二个节点展开
<script language=javascript>
TreeView1.getTreeNode("0").setAttribute("Expanded",true);
TreeView1.getTreeNode("1").setAttribute("Expanded",true);
</script>
a2z 2003-03-14
  • 打赏
  • 举报
回复
江雨成TreeView mvp了
garth 2003-03-14
  • 打赏
  • 举报
回复
这样是能达到效果
不过我现在是在页面初始化是就把一棵展开的树收拢(需要在服务器端expandlevel=1,但到客户端是收拢状态)
问题好像是执行这段代码时,这棵树还没有呈现出来,对其的操作好像无效
我该在什么时候调用设置代码哪?

hgknight 2003-03-14
  • 打赏
  • 举报
回复
你可以测试一下这个页面

<%@ Register TagPrefix="iewc" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls, Version=1.0.2.226, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<HTML>
<HEAD>
</HEAD>
<body>
<form id="test" method="post" runat="server">
<iewc:TreeView id="TreeView1" runat="server" Width="156px" Height="105px">
<iewc:TreeNode Text="Node0" Expanded="True">
<iewc:TreeNode Text="Node3"></iewc:TreeNode>
</iewc:TreeNode>
<iewc:TreeNode Text="Node1">
<iewc:TreeNode Text="Node4"></iewc:TreeNode>
</iewc:TreeNode>
</iewc:TreeView>
<p></p>
<input type="button" onclick="btn_onclick()" value="Button">
</form>
<script language="javascript">
function btn_onclick()
{
TreeView1.getTreeNode("0").setAttribute("Expanded",false);
TreeView1.getTreeNode("1").setAttribute("Expanded",true);
}
</script>
</body>
</HTML>
garth 2003-03-14
  • 打赏
  • 举报
回复
这点我知道,
我现在是调用了这样的事件没有效果,
TreeView1.getTreeNode("0").setAttribute("Expanded",false);
TreeView1.getTreeNode("1").setAttribute("Expanded",true);

状态不会改变

hgknight 2003-03-14
  • 打赏
  • 举报
回复
不小心写错了
<script language=javascript>
TreeView1.getTreeNode("0").setAttribute("Expanded",false);
TreeView1.getTreeNode("1").setAttribute("Expanded",true);
</script>
garth 2003-03-14
  • 打赏
  • 举报
回复
好像没效果
我用这段测了一下
alert(document.all.TreeView1.getTreeNode("0").getAttribute("Expanded"));//true
document.all.TreeView1.getTreeNode("0").setAttribute("Expanded",false);
alert(document.all.TreeView1.getTreeNode("0").getAttribute("Expanded"));//true

为什么?

62,074

社区成员

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

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

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

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