TreeView使用集锦
点击次数:29 次 发布日期:2008-11-26 09:53:13 作者:源代码网
|
源代码网推荐 特附录如下,以供大家参考。 源代码网推荐 源代码网推荐 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="http://www.zzchn.com/edu/20080727/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()); 源代码网推荐 } 源代码网推荐 } 源代码网推荐 } 源代码网推荐 源代码网推荐 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
