在ASP.NET中是不是没有TREEVIEW控件,而是TreeView类来产生 同上 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 .NET 2003 是没有,不过你可以用Microsoft后面发布WebControl,使用是一样的. 那要是我要在ASP.NET中使用TreeView怎么办,比如说我想在Page_load中就加入一个TreeView控件,就要让它显示出来,要怎么做???谢谢 DL : http://msdn.microsoft.com/archive/en-us/samples/internet/asp_dot_net_servercontrols/webcontrols/default.asp 用上面的地址,下载WebControls 然后安装控件.就可以像使用普通控件一样使用了. 用Visual Web Developer 2005 Exepress,里面就有 是要下载webcontrol ,安装后,然后编译形成一个dll文件,添加到选项卡中就和普通控件一样用的了 1.下载地址 http://msdn.microsoft.com/downloads/samples/internet/ASP_DOT_NET_ServerControls/WebControls/default.asp 安装后,通过“自定义工具箱”->“.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.TreeView展开无闪烁的解决方法 http://expert.csdn.net/Expert/topic/1300/1300576.xml 客户端控制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 NodeArray=new Array(); NodeArray=TreeView1.getChildren(); for(i=0;i<NodeArray.length;i++) { cNode=NodeArray[i]; alert(cNode.getAttribute("Text")); } 1、用代码在treeview web控件中,添加node的方法 表字段:编号,父编号,名称 数据: 1 0 中华人民共和国 2 1 湖南 3 1 湖北 void creattree(string text,TreeNode tnd,string pid) { TreeNode t2=new TreeNode(); t2.Text=text; tnd.Nodes.Add(t2); 生成 string str1 ="父编号 = '"+pid+"'"; DataRow[] dryl = dataSet31.Tables [0].Select(str1); for(int i=0;i<=dryl.GetUpperBound(0);i++) { creattree(dryl[i][2].ToString(),t2,dryl[i][0].ToString()); } } // TreeNode t1=new TreeNode(); t1.Text="地区信息"; TreeView2.Nodes.Add(t1); creattree("中华人民共和国",t1,"1"); 2、如何为TreeView添加事件? Private Sub TreeView1_indexChanged(ByVal sender As Object, ByVal e As Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs) Handles TreeView1.SelectedIndexChange Dim a As Integer a = TreeView1.SelectedNodeIndex TextBox1.Text = CStr(a) End Sub 但是AutoPostBack设置为True的话,TreeView还要刷新,闪烁,我的TreeView比较庞大 ,这可怎么办???苦恼中 3、为什么TreeView 中的SelectedIndexChange为什么不执行??? AutoPostBack属性为真,SelectedIndexChange才能被执行。 不过这样的话你选择时会感到刷新得让你痛苦,根据你的具体实现的目的,采用变通的 方法,尽量不使用SelectedIndexChange事件吧。 selectedindexchange事件挂到控件上没有? InitializeComponent方法中检查检查 4、如何判断 TreeView 的一个节点下是否有子节点??? if(selNode.Nodes.Count==0){ //该节点没有字节点 } 5、如何得到 TreeView 的当前选择节点??? 1.Tree.GetNodeFromIndex(Tree.SelectedNodeIndex.ToString()) 2.private void TreeView1_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e) e.NewNode即为所选节点--------------------关于安装:1 运行IEwebcontrol.exe,比如安装在 C:\Program Files\IE Web Controls2 执行 C:\Program Files\IE Web Controls 下 build.bat3 运行/cmd , cd C:\Program Files\IE Web Controls 4 xcopy /s /i .\samples c:\Inetpub\wwwroot\sampleapp /y5 xcopy /s /i .\build\Runtime c:\Inetpub\wwwroot\webctrl_client\1_0 /y 获取百度搜索链接和链接标题 .net如何操作iis,给iis添加Mime文件映射 问个问题哈 求教asp.net几个项目中很菜的问题 带URL参数的页面缓存,可行吗? 急急急,Oracle 9i客户端连接Oracle8i的服务器乱码问题。 asp.net发送邮件的问题 请高手赐教 一些页面不想让用户通过直接输入地址访问,怎样限制呢? DataGrid在线教程,可下载!PDF文件,菜鸟用! 如何确保正在运行的网站,更新(二次开发)时不出错? label.databind()有何作用? 如何到时间后自动跳转到指定的页面?(VB.NET)
谢谢
http://msdn.microsoft.com/downloads/samples/internet/ASP_DOT_NET_ServerControls/WebControls/default.asp
安装后,通过“自定义工具箱”->“.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.TreeView展开无闪烁的解决方法
http://expert.csdn.net/Expert/topic/1300/1300576.xml 客户端控制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 NodeArray=new Array();
NodeArray=TreeView1.getChildren();
for(i=0;i<NodeArray.length;i++)
{
cNode=NodeArray[i];
alert(cNode.getAttribute("Text"));
}
1、用代码在treeview web控件中,添加node的方法 表字段:编号,父编号,名称
数据:
1 0 中华人民共和国
2 1 湖南
3 1 湖北 void creattree(string text,TreeNode tnd,string pid)
{ TreeNode t2=new TreeNode();
t2.Text=text; tnd.Nodes.Add(t2); 生成
string str1 ="父编号 = '"+pid+"'";
DataRow[] dryl = dataSet31.Tables [0].Select(str1); for(int i=0;i<=dryl.GetUpperBound(0);i++)
{ creattree(dryl[i][2].ToString(),t2,dryl[i][0].ToString());
}
}
//
TreeNode t1=new TreeNode();
t1.Text="地区信息";
TreeView2.Nodes.Add(t1); creattree("中华人民共和国",t1,"1");
2、如何为TreeView添加事件? Private Sub TreeView1_indexChanged(ByVal sender As Object, ByVal e As
Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs) Handles
TreeView1.SelectedIndexChange
Dim a As Integer
a = TreeView1.SelectedNodeIndex
TextBox1.Text = CStr(a)
End Sub
但是AutoPostBack设置为True的话,TreeView还要刷新,闪烁,我的TreeView比较庞大
,这可怎么办???苦恼中 3、为什么TreeView 中的SelectedIndexChange为什么不执行??? AutoPostBack属性为真,SelectedIndexChange才能被执行。
不过这样的话你选择时会感到刷新得让你痛苦,根据你的具体实现的目的,采用变通的
方法,尽量不使用SelectedIndexChange事件吧。
selectedindexchange事件挂到控件上没有?
InitializeComponent方法中检查检查 4、如何判断 TreeView 的一个节点下是否有子节点??? if(selNode.Nodes.Count==0){
//该节点没有字节点
} 5、如何得到 TreeView 的当前选择节点??? 1.Tree.GetNodeFromIndex(Tree.SelectedNodeIndex.ToString())
2.private void TreeView1_SelectedIndexChange(object sender,
Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
e.NewNode即为所选节点--------------------关于安装:
1 运行IEwebcontrol.exe,比如安装在 C:\Program Files\IE Web Controls
2 执行 C:\Program Files\IE Web Controls 下 build.bat
3 运行/cmd , cd C:\Program Files\IE Web Controls
4 xcopy /s /i .\samples c:\Inetpub\wwwroot\sampleapp /y
5 xcopy /s /i .\build\Runtime c:\Inetpub\wwwroot\webctrl_client\1_0 /y