treeview.docx
- 文档编号:5878942
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:18
- 大小:21.78KB
treeview.docx
《treeview.docx》由会员分享,可在线阅读,更多相关《treeview.docx(18页珍藏版)》请在冰点文库上搜索。
treeview
1.InternetExplorerWebControlsREADME
2.=====================================
3.Lastupdated:
1/14/2002
4.
5.ThankyoufordownloadingtheIEWebControlssourcecoderelease!
TheSrc
6.foldercontainsthesourcecodefortheIEMultiPage,ToolBar,TreeView,and
7.TabStripcontrols,alongwithrelatedbaseclassesanddesign-timesupport.
8.
9.TobuildtheIEWebControls:
10.
11.1. Makesureyouhaveinstalledthe.NETFrameworkSDKv1.0orv1.1
12.2. RunBuild.bat,whichwillcreateabuildfolderinthisdirectory.
13. ThebuildfoldercontainsMicrosoft.Web.UI.WebControls.dllanda
14. Runtimedirectoryofsupportingfiles.
15.
16.ToruntheIEWebControls:
17.
18.1. CopythecontentsoftheRuntimedirectorytothewebctrl_client\1_0
19. directoryunderyourtop-levelsitedirectory. Forexample,ifyour
20. siterootisc:
\Inetpub\wwwroot,typethisatthecommandprompt:
21.
22. xcopy/s/i.\build\Runtimec:
\Inetpub\wwwroot\webctrl_client\1_0/y
23.
24. Thiswillcreatethefollowingdirectorystructureunderthesite:
25.
26. /webctrl_client/1_0
27. MultiPage.htc
28. TabStrip.htc
29. toolbar.htc
30. treeview.htc
31. webservice.htc
32. webserviced.htc
33. [images]
34. [treeimages]
35.
36.2. CreateanewwebapplicationinIISandcopythecontentsofthe
37. samplesdirectorytothisapplicationdirectory. Forexample:
38.
39. xcopy/s/i.\samplesc:
\Inetpub\wwwroot\sampleapp/y
40.
41.3. Createa/binsubdirectoryfortheapplicationandcopythefile
42. Microsoft.Web.UI.WebControls.dlltothisdirectory.
43.
44. Thecontentsoftheapplicationwillbeasfollows:
45.
46. /sampleapp
47. multipage.aspx
48. state_city.xml
49. tabstrip.aspx
50. toolbar.aspx
51. treeview.aspx
52. treeview_bound.aspx
53. /bin
54. Microsoft.Web.UI.WebControls.dll
55.
56.4. RequestthesamplepagesfromyourInternetExplorerwebbrowser,for
57. example:
http:
//localhost/sampleapp/multipage.aspx
58.
59.Foradditionaldocumentationandsamplesvisit:
60.
61.
62.
1:
DownloadieWebControls
2:
Setup
复制代码
1.
2. 、双击安装完成,默认:
系统盘:
\programfiles\IEWebControls目录下。
3. 、运行“程序——MicrosoftVisualStudio.NET2003——VisualStudio.NET工具——MicrosoftVisualStudio.NET2003命令提示符”,进入到IEWebControl安装目录。
4.
5. 、运行build.bat。
6.
7. 、运行xcopy/s/i.\build\Runtime(网站根目录,默认系统盘):
\Inetpub\wwwroot\webctrl_client\1_0/y
8. 、在”工具箱——web窗体“单击右键,选择“添加/移除项...”,在弹出对话框中选择.netframwork组件,单击“浏览”,找到IEWebControl.dll文件,添加上即可。
9.
10.
3:
Register
<%@RegisterTagPrefix="iewc"Namespace="Microsoft.Web.UI.WebControls"Assembly="Microsoft.Web.UI.WebControls,Version=1.0.2.226,Culture=neutral,PublicKeyToken=31bf3856ad364e35"%>
4:
use
TreeViewrunat="server"ID="treeview1">
TreeView>
5:
AddTreeViewNode
Robot·H,2007-04-2112:
02:
10
复制代码
1.
2.usingSystem;
3.usingSystem.Data;
4.usingSystem.Configuration;
5.usingSystem.Collections;
6.usingSystem.Web;
7.usingSystem.Web.Security;
8.usingSystem.Web.UI;
9.usingSystem.Web.UI.WebControls;
10.usingSystem.Web.UI.WebControls.WebParts;
11.usingSystem.Web.UI.HtmlControls;
12.usingSystem.Data.SqlClient;
13.usingMicrosoft.Web.UI.WebControls;
14.
15.
16.namespaceMmyeeAd.Web
17.{
18. publicpartialclassSqlServer:
System.Web.UI.Page
19. {
20.
21. protectedvoidPage_Load(objectsender,EventArgse)
22. {
23. if(!
Page.IsPostBack)
24. {
25. DataViewdv=this.drv("select*fromS_Big");
26. foreach(DataRowView_drvindv)
27. {
28. Microsoft.Web.UI.WebControls.TreeNodetn=newMicrosoft.Web.UI.WebControls.TreeNode();
29. tn.Text=_drv["bigName"].ToString();
30. tn.NodeData=_drv["bigID"].ToString();
31. tn.Expanded=false;
32. this.treeview1.Nodes.Add(tn);
33. AddChildNodes(tn);
34. }
35. }
36.
37. }
38. privateDataViewdrv(stringsql)
39. {
40. string_conStr=ConfigurationManager.AppSettings["ConnectionString"];
41. SqlConnectioncon=newSqlConnection(_conStr);
42. con.Open();
43. SqlDataAdaptersda=newSqlDataAdapter(sql,con);
44. DataSetds=newDataSet();
45. sda.Fill(ds,"tree");
46. returnds.Tables["tree"].DefaultView;
47. }
48. privatevoidAddChildNodes(Microsoft.Web.UI.WebControls.TreeNodetn)
49. {
50. int_bigId=Convert.ToInt32(tn.NodeData);
51. DataViewdv=this.drv("select*fromS_SmallwherebigID="+_bigId);
52. foreach(DataRowView_drvindv)
53. {
54. Microsoft.Web.UI.WebControls.TreeNodectn=newMicrosoft.Web.UI.WebControls.TreeNode();
55. ctn.Text=_drv["SmallName"].ToString();
56. ctn.NodeData=_drv["SmallID"].ToString();
57. ctn.NavigateUrl="?
SmallID="+_drv["SmallID"].ToString();
58. tn.Nodes.Add(ctn);
59.
60.
61.
62.
63.
64. }
65. }
66. }
67.}
68.
69.
Robot·H,2007-04-2112:
54:
34
1.下载地址
安装后,通过“自定义工具箱”->“.net框架组件”把TreeView添加到工具箱里
2.运行时无法显示
一般是TreeView的版本问题,最好下载英文版自动安装版本重新安装,安装前应该先到添加删除程序里卸掉原版本
3.显示格式出错(非树状显示)
TreeView要求客户端浏览器版本为IE5.5及以上,最好要求客户端升级为IE6.0
4.框架里使用TreeView
设置NavigateUrl、Target属性,可更新另外的Frame
5.找不到TreeNode类
使用TreeView,最好添加namespace:
usingMicrosoft.Web.UI.WebControls;
6.遍历TreeView节点(递归算法)
privatevoidPage_Load(objectsender,System.EventArgse)
{
GetAllNodeText(TreeView1.Nodes);
}
voidGetAllNodeText(TreeNodeCollectiontnc)
{
foreach(TreeNodenodeintnc)
{
if(node.Nodes.Count!
=0)
GetAllNodeText(node.Nodes);
Response.Write(node.Text+"");
}
}
7.得到node结点的父节点
TreeNodepnode;
if(node.ParentisTreeNode)
pnode=(TreeNode)node.Parent;
else
//nodeisrootnode
8.修改TreeView样式(示例)
TreeViewid="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展开无闪烁的解决方法 客户端控制TreeView 1.设置所选节点,如选中第二个节点 functionSetSelNode() { TreeView1.selectedNodeIndex="1"; } 2.得到所选节点的Text,ID或NodeData functionGetAttribute() { alert(TreeView1.getTreeNode(TreeView1.selectedNodeIndex).getAttribute("Text")); } 替换Text为ID或NodeData,可分别得到所选节点的ID或NodeData 3.修改节点属性,如修改第一个节点的Text functionModifyNode() { varnode=TreeView1.getTreeNode("0"); node.setAttribute("Text","hgknight"); } 4.得到点击节点 functionTreeView1.onclick() { alert(TreeView1.getTreeNode(TreeView1.clickedNodeIndex).getAttribute("Text")); } 5.添加节点 functionAddNode() { varnode=TreeView1.createTreeNode(); node.setAttribute("Text","hgknight"); TreeView1.add(node); } 6.js遍历所有节点 //只针对根结点,大家把它可改为递归形式 varNodeArray=newArray(); NodeArray=TreeView1.getChildren(); for(i=0;i { cNode=NodeArray[i]; alert(cNode.getAttribute("Text")); } 1、用代码在treeviewweb控件中,添加node的方法 表字段: 编号,父编号,名称 数据: 10中华人民共和国 21湖南 31湖北 voidcreattree(stringtext,TreeNodetnd,stringpid) { TreeNodet2=newTreeNode(); t2.Text=text; tnd.Nodes.Add(t2); 生成 stringstr1="父编号='"+pid+"'"; DataRow[]dryl=dataSet31.Tables[0].Select(str1); for(inti=0;i<=dryl.GetUpperBound(0);i++) { creattree(dryl[i][2].ToString(),t2,dryl[i][0].ToString()); } } // TreeNodet1=newTreeNode(); t1.Text="地区信息"; TreeView2.Nodes.Add(t1); creattree("中华人民共和国",t1,"1"); 2、如何为TreeView添加事件? PrivateSubTreeView1_indexChanged(ByValsenderAsObject,ByValeAs Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs)Handles TreeView1.SelectedIndexChange DimaAsInteger a=TreeView1.SelectedNodeIndex TextBox1.Text=CStr(a) EndSub 但是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.privatevoidTreeView1_SelectedIndexChange(objectsender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgse) e.NewNode即为所选节点 6、treeview实现两层节点没问题,扩展到无限层就出问题了? 我的那个做法还不够完善,对于节点数较少的情况可以这样做,对于节点数较多的情况 ,你就不能这样做了,你应该只加载一级,当点击节点展开时,再加载它的下一级子节 点。 数据库结构如下: 表名: Table1 ParentIDvarchar20: 父节点 IDvarchar20: 节点 Namevarchar50: 名称 来来来,这里给你个例程,再给个我的网页上的TreeViwe看看,一万个子节点都没问题。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- treeview