我的treeview控件在网页上使用的问题......

时间:2022-03-09 13:00:27
我用vb做了一个activeX控件,就是一个定制的treeview控件。当用户click某个节点的时候,就激发了我自定义的event,节点的key作为event的参数。

我想要做的是,当用户click某Node的时候,在网也的右边或框架网页的main框架里显示描述这个节点详细情况的*.htm或show.asp?ID=node.key。



很难吗?如果用javascript实现这样的树,这不是个问题。但是我不知道她能否显示任意深的树呢?我看到很多网页都只有两层。msdn.microsoft.com的“树”不知道怎样实现的?

14 个解决方案

#1


给你一个网站,有兴趣自己研究研究http://www.asptreeview.com/obout/treeview/sample/xp_msdn.asp

#2


你可以把你的ocx代码贴出来看看么?

#3


MeXP(秦汉风) :thanks
能搞到free source code就好了,因为我即使买了,也需要定制的.

xjbx():
ocx的源代码还没完成, 我接受event是在控件外面的网页中,通过脚本.

我想要的是treeview的node就带有操连接.

#4


you can use Microsoft's TreeView Control, here is an example

1. treeframe.html:
<frameset cols="200,*">
 <frame name="nav" src="tree.html">
 <frame name="main">
</frameset>

2. tree.html:
<HTML>
<META Http-Equiv="Pragma" Content="no-cache">
<HEAD>
    <SCRIPT LANGUAGE="JavaScript" FOR="window" EVENT="onLoad()">
<!--
 var curNode, nodes;
 nodes = document.all("TreeView1").nodes;
 curNode = nodes.Add();
 curNode.Text = "WEB SITES";
 curNode.Key = "root";
 curNode.Expanded = true;

 nodes.Add ("root", 4, "BBS", "BBS");
 nodes.Add ("BBS", 4, "http://www.csdn.net", "CSDN");
 nodes.Add ("http://www.csdn.net", 4, "http://www.csdn.net/expert/Forum.asp?Typenum=2&roomid=17", "C#");
 nodes.Add ("http://www.csdn.net", 4, "http://www.csdn.net/expert/Forum.asp?Typenum=2&roomid=23", "ASP");
 nodes.Add ("BBS", 4, "http://www.netease.com", "NETEASE");
 nodes.Add ("root", 4, "http://news.sina.com.cn", "SINA");
 nodes.Add ("root", 4, "http://www.cnn.com", "CNN");
-->

    </SCRIPT>
<TITLE>New Page</TITLE>
<STYLE>
<!--
@import URL("/Styles/style.css");
-->
</STYLE>
</HEAD>
<BODY LEFTMARGIN=9 TOPMARGIN=9>
    <SCRIPT LANGUAGE="JavaScript" FOR="TreeView1" EVENT="NodeClick(Node)">
<!--
//alert( "clicked on node " + Node.text + Node.Key);
if (Node.Key.indexOf("http://") == 0)
  parent.frames["main"].location.href=Node.Key;
 // window.open(Node.Key,"_blank");
-->
    </SCRIPT>
    <OBJECT ID="TreeView1" WIDTH=100% HEIGHT=100%
     CLASSID="CLSID:0713E8A2-850A-101B-AFC0-4210102A8DA7">
        <PARAM NAME="_ExtentX" VALUE="2646">
        <PARAM NAME="_ExtentY" VALUE="2646">
        <PARAM NAME="_Version" VALUE="327682">
        <PARAM NAME="Indentation" VALUE="529">
        <PARAM NAME="LineStyle" VALUE="1">
        <PARAM NAME="Style" VALUE="6">
        <PARAM NAME="BorderStyle" VALUE="1">
        <PARAM NAME="Appearance" VALUE="1">
    </OBJECT>
</BODY>
</HTML>

#5


vc_tapi (为了爱) 你还在吧?
我给你的网站它的源代码是免费的,它的树做得很好,而且只需要在服务器端安装一些东西就行了,绝对FREE,到它的DOWNLOAD里看看吧,提供下载和范例

#6


to  MeXP(秦汉风):看了你介绍的网站(http://www.asptreeview.com/obout/treeview/sample/xp_msdn.asp
),有意思的是他的网站居然可以利用ie的“搜索”做菜单导航哟!代替了“帧结构”,不知道是如何实现的?

#7


有兴趣的人可以自己去看看,我也不知道怎么实现的,没来得及研究。其实大家在这个网站可以学到很多,也应该有些启发

#8


target="_search"

#9


http://www.asptreeview.com/obout/index1.asp

对,好像不是框架网页,左边的搜索树如何实现呀?多讨论。


我download了,但是xml在我的机子上出了问题,不知道为什么?

我的treeview就是在microsoft的treeview基础上定制的。但问题是,node怎样显示出超链接呀。好像不行,这一点我急需。

不管怎样,谢谢各位的参与!

#10


To saucer(思归) :

谢谢你!你对我帮助很大。我没有在网页上试过microsoft的treeview。果然可以,我再想办法把数据库中的数据显示在treeview上,如果可以,那真的很好。

#11


呵呵,我研究了一下哪个“收藏”的代码,原来就是如此简单:
<a name="aTreeLink" href="obout_tree_pro_iconless.asp" target="_search"></a>

<SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript>


Sub window_onload
aTreeLink.click()
End Sub
</script>

#12


可以用xml或者控件
yyg@xjeri.com.cn

#13


http://www.asptreeview.com/obout/treeview/xp_treeview.asp

Download ASP TreeView
1. Register DLL from ASPTreeView.zip (80 KB). How to register:
regsvr32 "C:\YOUR_PATH_HERE\obout_ASPTreeView.dll"
 
2. Put folder 'Tree' with icons (not ASPTreeView folder!) to your root web directory.
 
     
Note With Internet Explorer 5.5 and up on your server, you do NOT need to install:
- Latest Visual Basic 6 runtime.
C:\WINNT\system32\msvbvm60.dll - version 6.0.89.64;
- Latest working MSXML (1,584 KB) from Microsoft.  

Please ask any questions obweb@hotmail.com

以上全部安装的一个都不能少

#14


谢谢各位,就我提的问题来说,可以说已经解决了。

用xml或者控件,这两种方案我都会试一试的。

我的Js语法学的是在很差,其实如 saucer(思归)所贴的code就可以了。只是没有了通常超链接的下划线,而且老板要做的是在不是一般的做法:

就treeview来说,要根据一定的规则让某些node暂时不可用,就很难做到。因为node没有Enable属性,它的visible属性也是只读的。

试一试xmlTreeView吧,希望能可以。

再次谢谢各位。  

#1


给你一个网站,有兴趣自己研究研究http://www.asptreeview.com/obout/treeview/sample/xp_msdn.asp

#2


你可以把你的ocx代码贴出来看看么?

#3


MeXP(秦汉风) :thanks
能搞到free source code就好了,因为我即使买了,也需要定制的.

xjbx():
ocx的源代码还没完成, 我接受event是在控件外面的网页中,通过脚本.

我想要的是treeview的node就带有操连接.

#4


you can use Microsoft's TreeView Control, here is an example

1. treeframe.html:
<frameset cols="200,*">
 <frame name="nav" src="tree.html">
 <frame name="main">
</frameset>

2. tree.html:
<HTML>
<META Http-Equiv="Pragma" Content="no-cache">
<HEAD>
    <SCRIPT LANGUAGE="JavaScript" FOR="window" EVENT="onLoad()">
<!--
 var curNode, nodes;
 nodes = document.all("TreeView1").nodes;
 curNode = nodes.Add();
 curNode.Text = "WEB SITES";
 curNode.Key = "root";
 curNode.Expanded = true;

 nodes.Add ("root", 4, "BBS", "BBS");
 nodes.Add ("BBS", 4, "http://www.csdn.net", "CSDN");
 nodes.Add ("http://www.csdn.net", 4, "http://www.csdn.net/expert/Forum.asp?Typenum=2&roomid=17", "C#");
 nodes.Add ("http://www.csdn.net", 4, "http://www.csdn.net/expert/Forum.asp?Typenum=2&roomid=23", "ASP");
 nodes.Add ("BBS", 4, "http://www.netease.com", "NETEASE");
 nodes.Add ("root", 4, "http://news.sina.com.cn", "SINA");
 nodes.Add ("root", 4, "http://www.cnn.com", "CNN");
-->

    </SCRIPT>
<TITLE>New Page</TITLE>
<STYLE>
<!--
@import URL("/Styles/style.css");
-->
</STYLE>
</HEAD>
<BODY LEFTMARGIN=9 TOPMARGIN=9>
    <SCRIPT LANGUAGE="JavaScript" FOR="TreeView1" EVENT="NodeClick(Node)">
<!--
//alert( "clicked on node " + Node.text + Node.Key);
if (Node.Key.indexOf("http://") == 0)
  parent.frames["main"].location.href=Node.Key;
 // window.open(Node.Key,"_blank");
-->
    </SCRIPT>
    <OBJECT ID="TreeView1" WIDTH=100% HEIGHT=100%
     CLASSID="CLSID:0713E8A2-850A-101B-AFC0-4210102A8DA7">
        <PARAM NAME="_ExtentX" VALUE="2646">
        <PARAM NAME="_ExtentY" VALUE="2646">
        <PARAM NAME="_Version" VALUE="327682">
        <PARAM NAME="Indentation" VALUE="529">
        <PARAM NAME="LineStyle" VALUE="1">
        <PARAM NAME="Style" VALUE="6">
        <PARAM NAME="BorderStyle" VALUE="1">
        <PARAM NAME="Appearance" VALUE="1">
    </OBJECT>
</BODY>
</HTML>

#5


vc_tapi (为了爱) 你还在吧?
我给你的网站它的源代码是免费的,它的树做得很好,而且只需要在服务器端安装一些东西就行了,绝对FREE,到它的DOWNLOAD里看看吧,提供下载和范例

#6


to  MeXP(秦汉风):看了你介绍的网站(http://www.asptreeview.com/obout/treeview/sample/xp_msdn.asp
),有意思的是他的网站居然可以利用ie的“搜索”做菜单导航哟!代替了“帧结构”,不知道是如何实现的?

#7


有兴趣的人可以自己去看看,我也不知道怎么实现的,没来得及研究。其实大家在这个网站可以学到很多,也应该有些启发

#8


target="_search"

#9


http://www.asptreeview.com/obout/index1.asp

对,好像不是框架网页,左边的搜索树如何实现呀?多讨论。


我download了,但是xml在我的机子上出了问题,不知道为什么?

我的treeview就是在microsoft的treeview基础上定制的。但问题是,node怎样显示出超链接呀。好像不行,这一点我急需。

不管怎样,谢谢各位的参与!

#10


To saucer(思归) :

谢谢你!你对我帮助很大。我没有在网页上试过microsoft的treeview。果然可以,我再想办法把数据库中的数据显示在treeview上,如果可以,那真的很好。

#11


呵呵,我研究了一下哪个“收藏”的代码,原来就是如此简单:
<a name="aTreeLink" href="obout_tree_pro_iconless.asp" target="_search"></a>

<SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript>


Sub window_onload
aTreeLink.click()
End Sub
</script>

#12


可以用xml或者控件
yyg@xjeri.com.cn

#13


http://www.asptreeview.com/obout/treeview/xp_treeview.asp

Download ASP TreeView
1. Register DLL from ASPTreeView.zip (80 KB). How to register:
regsvr32 "C:\YOUR_PATH_HERE\obout_ASPTreeView.dll"
 
2. Put folder 'Tree' with icons (not ASPTreeView folder!) to your root web directory.
 
     
Note With Internet Explorer 5.5 and up on your server, you do NOT need to install:
- Latest Visual Basic 6 runtime.
C:\WINNT\system32\msvbvm60.dll - version 6.0.89.64;
- Latest working MSXML (1,584 KB) from Microsoft.  

Please ask any questions obweb@hotmail.com

以上全部安装的一个都不能少

#14


谢谢各位,就我提的问题来说,可以说已经解决了。

用xml或者控件,这两种方案我都会试一试的。

我的Js语法学的是在很差,其实如 saucer(思归)所贴的code就可以了。只是没有了通常超链接的下划线,而且老板要做的是在不是一般的做法:

就treeview来说,要根据一定的规则让某些node暂时不可用,就很难做到。因为node没有Enable属性,它的visible属性也是只读的。

试一试xmlTreeView吧,希望能可以。

再次谢谢各位。