[急]TreeView显示问题

windark 2004-05-11 04:07:00
我的TreeView怎么显示成连续的,没有树型结构。
...全文
98 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
morality 2004-05-12
  • 打赏
  • 举报
回复
得在“添加/移除项...”中引用 TreeView
并引入命名空间:
using Microsoft.Web.UI.WebControls
windark 2004-05-12
  • 打赏
  • 举报
回复
问题还没有解决啊 ,大虾们帮帮忙啊!
si812cn 2004-05-12
  • 打赏
  • 举报
回复
你只要安装后缀为msi的安装程序就行了,我碰到的是和你一样的问题。
windark 2004-05-11
  • 打赏
  • 举报
回复
我顶啊!
windark 2004-05-11
  • 打赏
  • 举报
回复
是不是在服务器也要安装iewebcontrols.msi
smx717616 2004-05-11
  • 打赏
  • 举报
回复
TreeView要求客户端浏览器版本为IE5.5及以上,最好要求客户端升级为IE6.0
vzxq 2004-05-11
  • 打赏
  • 举报
回复
学习,帮你UP
windark 2004-05-11
  • 打赏
  • 举报
回复
我自己的机器用的都好的很,就是在服务器上出现显示问题!
sequelbo 2004-05-11
  • 打赏
  • 举报
回复
是的
下载iewebcontrols.msi之后,安装
windark 2004-05-11
  • 打赏
  • 举报
回复
我本身的机器是用来开发的安装和使用和浏览都没有问题,
下午我把我作的程序拷到服务器,进行浏览就出现显示问题,
我用vs2002作的时候,在工具栏添加TreeView 控件的文件路径是默认的c:
是不是需要把Microsoft.Web.UI.WebControls.dll文件拷到项目中的bin目录
还有服务器需要安装Microsoft.Web.UI.WebControls么?
xiaomaolover 2004-05-11
  • 打赏
  • 举报
回复
www.aspxcn.com
里面查treeview.可以看到几个列子,可以下载的.里面写的很清楚,,,
bitsbird 2004-05-11
  • 打赏
  • 举报
回复
转贴---------》
TreeView使用问题集锦
网人帝国 添加时间:2003-11-14 9:10:49 人气:109


1.下载地址
http://msdn.microsoft.com/downloads/samples/internet/ASP_DOT_NET_ServerControls/WebControls/default.asp
下载后是后缀为bat的版本
(1)bulid.将bulid.bat的路径指向csc.exe所在路径,生成Microsoft.Web.UI.WebControls.dll。
(2)在wwwroot下创建空目录webctrl_client\1_0。
(3)将build\Runtime下的文件拷至webctrl_client\1_0下。
(4)选择工具箱的自定义工具箱,添加Microsoft.Web.UI.WebControls.dll。
有些麻烦
但如果你能找到后缀是msi的自动安装版本,直接下一步就行(我一直用这个版本,hoho)
安装后,通过“自定义工具箱”->“.net框架组件”把TreeView添加到工具箱里

2.运行时无法显示
一般是TreeView的版本问题,最好下载英文版自动安装版本重新安装,安装前应该先到添加删除程序里卸掉原版本

3.显示格式出错(非树状显示)
TreeView要求客户端浏览器版本为IE5.5及以上,最好要求客户端升级为IE6.0

4.框架里使用TreeView
设置NavigateUrl、Target属性,可更新另外的Frame

5.找不到TreeNode类
使用TreeView,最好添加namespace:using Microsoft.Web.UI.WebControls;

6.遍历TreeView节点(递归算法)
private void Page_Load(object sender, System.EventArgs e)
{
GetAllNodeText(TreeView1.Nodes);
}
void GetAllNodeText(TreeNodeCollection tnc)
{
foreach(TreeNode node in tnc)
{
if(node.Nodes.Count!=0)
GetAllNodeText(node.Nodes);
Response.Write(node.Text + " ");
}
}

7.得到node结点的父节点
TreeNode pnode;
if(node.Parent is TreeNode)
pnode=(TreeNode)node.Parent;
else
//node is root node

8.修改TreeView样式(示例)
<iewc:TreeView id="TreeView1" runat="server" HoverStyle="color:blue;background:#00ffCC;" DefaultStyle="background:red;color:yellow;" SelectedStyle="color:red;background:#00ff00;">
用代码:
TreeView1.DefaultStyle["font-size"] = "20pt";

9.展开时不提交,改变选择节点时才提交
将autopostback设置成false;
在body里添加 <body onload="initTree()">
然后在PageLoad里写:
string strTreeName = "TreeView1";
string strRef = Page.GetPostBackEventReference(TreeView1);
string strScript = "<script language=\"JavaScript\"> \n" + "<!-- \n" + " function initTree() { \n" +" " + strTreeName + ".onSelectedIndexChange = function() { \n" + "if (event.oldTreeNodeIndex !=
event.newTreeNodeIndex) \n" + "this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex + ',' + event.newTreeNodeIndex); \n" + "window.setTimeout('" + strRef.Replace("'","\\'") + "', 0, 'JavaScript'); \n" + " } \n" + " } \n" + "// --> \n" + "</script>";
Page.RegisterClientScriptBlock("InitTree",strScript );

这样就只有你点击的节点更改的时候才提交!

10.TreeView结合XML
把XML文件设置为如下格式,然后直接设置TreeNodeSrc为该XML文件就行
<?xml version="1.0" encoding="GB2312"?>
<TREENODES>
<TREENODE TEXT="node0" EXPANDED="true">
<TREENODE TEXT="node1"/>
<TREENODE TEXT="node2"/>
</TREENODE>
<TREENODE TEXT="node3" NavigateURL="3.aspx"/>
</TREENODES>
或者用代码
TreeView1.TreeNodeSrc="a.xml";
TreeView1.DataBind();



客户端控制TreeView
http://expert.csdn.net/Expert/topic/1382/1382892.xml

1.设置所选节点,如选中第二个节点
function SetSelNode()
{
TreeView1.selectedNodeIndex="1";
}

2.得到所选节点的Text,ID或NodeData
function GetAttribute()
{
alert(TreeView1.getTreeNode(TreeView1.selectedNodeIndex).getAttribute("Text"));
}
替换Text为ID或NodeData,可分别得到所选节点的ID或NodeData

3.修改节点属性,如修改第一个节点的Text
function ModifyNode()
{
var node=TreeView1.getTreeNode("0");
node.setAttribute("Text","hgknight");
}

4.得到点击节点
function TreeView1.onclick()
{
alert(TreeView1.getTreeNode(TreeView1.clickedNodeIndex).getAttribute("Text"));
}

5.添加节点
function AddNode()
{
var node=TreeView1.createTreeNode();
node.setAttribute("Text","hgknight");
TreeView1.add(node);
}

6.js遍历所有节点
var AllRootNode=new Array();
AllRootNode=TreeView1.getChildren();
AlertNode(AllRootNode);

function AlertNode(NodeArray)
{
if(parseInt(NodeArray.length)==0)
return;
else
{
for(i=0;i<NodeArray.length;i++)
{
var cNode;
cNode=NodeArray[i];
alert(cNode.getAttribute("Text"));
if(parseInt(cNode.getChildren().length)!=0)
AlertNode(cNode.getChildren());
}
}
}
孙思莉 2004-05-11
  • 打赏
  • 举报
回复
下载iewebcontrols.msi之后,安装就什么都有了
Seeko0 2004-05-11
  • 打赏
  • 举报
回复
需要自己运行build文件,有个bat文件执行一下就可以了
不能显示是因为需要将生成的文件路径改到wwwroot,或者生成后自己拷贝过去
dotnet90 2004-05-11
  • 打赏
  • 举报
回复
我从msdn上下载的TreeView之后,我按照readme文件的操作之后,怎么没有Microsoft.Web.UI.WebControls.dll文件?
windark 2004-05-11
  • 打赏
  • 举报
回复
急啊,帮帮忙啊!

62,041

社区成员

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

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

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

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