[VS.NET]关于IE Web Controls的安装配置问题

   首先说明这一切都是从头开始的,你如果安装了TreeView的话请先卸载掉,卸载方法:
1,在vs.net2003的工具箱中把想关的TreeView控件删除。
2,删除wwwroot目录下的webctrl_client目录,如果有的话
3,删除c:\program files下的ie web controls目录
安装方法:
1,下载,双击exe文件运行,其实是解压缩啊
2,找到c:\program files下的ie web controls目录下的src文件夹。寻找BaseRichControl.cs文件,用文本编辑器如editplus编辑他,找到52行:
private const string DefaultCommanFilesRoot = "/webctrl_client/";
把其中的路径修改成你想要的路径,我是这样修改的
private const string DefaultCommanFilesRoot = "webctrl_client/";
第二步在wwwroot目录下不做
,这一步相当重要,因为如果你不修改的话,他默认的路径是你wwwroot目录下的webctrl_client文件夹,一旦我这样修改了,他默认的路径就是我虚拟目录下的webctrl_client文件夹而不是wwwroot下的,即使我们把虚拟目录上传到服务器也没问题。当然,首先你要把这文件的只读属性去掉,改好后再改回来就是
3,开始---程序--Microsoft Visual Studio.NET 2003------Visual Studio.NET工具----Visual Studio.NET2003命令提示,进入dos状态。我们用cd命令进入c:\program files\ie web \controls目录,输入build.bat,系统就会开始编译,完成后退出
4,在你需要使用TreeView组件的虚拟根目录下新建一文件夹webctrl_client,再在webctrl_client目录下新建一文件夹1_0,把c:\program files\ie web controls\build\Runtime目录下(是目录下而不是Runtime目录)的所有文件拷贝到1_0文件夹下。
5,运行vs.net2003,右击工具箱,选“添加/移除项”,弹出“自定义工具箱”,选Net.FrameWork组件页,点浏览,找到才:c:\program files\ie web controls\build\MicRosoft.Web.UI.WebControls.dll文件,点确定,再确定。,这样就把TreeView加入到了工具箱里面

6,在你的项目的资源管理器中把webctrl_client包括在项目中
7。一切搞顶

1、执行安装文件后,在安装目录找到 “build.bat”文件,用记事本将其打开。把“csc.exe”换成绝对路径“C:\WINNT\Microsoft.NET\Framework\v1.1.4322\csc.exe”。保存后执行(记得把“只读”属性去掉)。

2、编译完成后,在安装目录下可以看到“build”活页夹﹐把该目录下的“Runtime”子目录里所有文件复制到“C:\Inetpub\wwwroot\webctrl_client\1_0”(若没有,则自行创建。注意,在 IIS 中新建站点的话,必须把“webctrl_client”目录复制到站点根目录下)

三、 在 VS.NET 中使用

1、 打开 VS.NET → 右击“工具箱”→ 添加/删除项目 → 浏览 → 选中上述编译的文件“Microsoft.Web.UI.WebControls.dll”→ 确认后即可看到添加的“TreeView”控件

2、 将“TreeView”控件拖入页面 → 属性 → 节点(Node)→ 添加根节点(或添加子节点)

四、 从数据库读取节点信息

保存节点信息的 Table 基本结构为

1、全部读取并一次性展现 

 1 [VS.NET]关于IE Web Controls的安装配置问题 private   void  Page_Load( object  sender, System.EventArgs e)
 2 [VS.NET]关于IE Web Controls的安装配置问题
 3 [VS.NET]关于IE Web Controls的安装配置问题 {
 4[VS.NET]关于IE Web Controls的安装配置问题
 5[VS.NET]关于IE Web Controls的安装配置问题if(IsPostBack)
 6[VS.NET]关于IE Web Controls的安装配置问题
 7[VS.NET]关于IE Web Controls的安装配置问题{
 8[VS.NET]关于IE Web Controls的安装配置问题
 9[VS.NET]关于IE Web Controls的安装配置问题return;
10[VS.NET]关于IE Web Controls的安装配置问题
11[VS.NET]关于IE Web Controls的安装配置问题}

12[VS.NET]关于IE Web Controls的安装配置问题
13[VS.NET]关于IE Web Controls的安装配置问题DBSystem.ExecuteSQL tmp = new DBSystem.ExecuteSQL("T");
14[VS.NET]关于IE Web Controls的安装配置问题
15[VS.NET]关于IE Web Controls的安装配置问题DataTable dt = tmp.GetDataTable("select * from TreeView");//从数据库抓出数据
16[VS.NET]关于IE Web Controls的安装配置问题
17[VS.NET]关于IE Web Controls的安装配置问题this.AddNodes(dt,null,"0"); //添加节点
18[VS.NET]关于IE Web Controls的安装配置问题
19[VS.NET]关于IE Web Controls的安装配置问题this.TreeView1.SelectedNodeIndex=""//不选中任何节点。
20[VS.NET]关于IE Web Controls的安装配置问题
21[VS.NET]关于IE Web Controls的安装配置问题/*下一节将介绍如何修改TreeView.cs 源码来取消默认选中节点的方法*/
22[VS.NET]关于IE Web Controls的安装配置问题
23[VS.NET]关于IE Web Controls的安装配置问题}

24 [VS.NET]关于IE Web Controls的安装配置问题
25 [VS.NET]关于IE Web Controls的安装配置问题 
26 [VS.NET]关于IE Web Controls的安装配置问题
27 [VS.NET]关于IE Web Controls的安装配置问题 /// 
28[VS.NET]关于IE Web Controls的安装配置问题
29[VS.NET]关于IE Web Controls的安装配置问题/// 添加节点及其包含的子节点
30[VS.NET]关于IE Web Controls的安装配置问题
31[VS.NET]关于IE Web Controls的安装配置问题/// 
32[VS.NET]关于IE Web Controls的安装配置问题
33[VS.NET]关于IE Web Controls的安装配置问题/// 从数据库抓出的 DataTable
34[VS.NET]关于IE Web Controls的安装配置问题
35[VS.NET]关于IE Web Controls的安装配置问题/// 将要添加子节点的父节点
36[VS.NET]关于IE Web Controls的安装配置问题
37[VS.NET]关于IE Web Controls的安装配置问题/// 父节点的 ID,“0” 为根节点

38 [VS.NET]关于IE Web Controls的安装配置问题
39 [VS.NET]关于IE Web Controls的安装配置问题 private   void  AddNodes(DataTable dt,TreeNode node, string  id)
40 [VS.NET]关于IE Web Controls的安装配置问题
41 [VS.NET]关于IE Web Controls的安装配置问题 {
42[VS.NET]关于IE Web Controls的安装配置问题
43[VS.NET]关于IE Web Controls的安装配置问题DataRow[] rows = dt.Select("ParentID="+id); //筛选出属于父节点 “node”的子节点集合
44[VS.NET]关于IE Web Controls的安装配置问题
45[VS.NET]关于IE Web Controls的安装配置问题foreach(DataRow dr in rows) //循环子节点集合
46[VS.NET]关于IE Web Controls的安装配置问题
47[VS.NET]关于IE Web Controls的安装配置问题{
48[VS.NET]关于IE Web Controls的安装配置问题
49[VS.NET]关于IE Web Controls的安装配置问题TreeNode nd = new TreeNode();
50[VS.NET]关于IE Web Controls的安装配置问题
51[VS.NET]关于IE Web Controls的安装配置问题nd.NavigateUrl=dr["URL"].ToString(); //设置浏览的网址
52[VS.NET]关于IE Web Controls的安装配置问题
53[VS.NET]关于IE Web Controls的安装配置问题nd.NodeData=dr["NodeID"].ToString(); //存放节点 ID
54[VS.NET]关于IE Web Controls的安装配置问题
55[VS.NET]关于IE Web Controls的安装配置问题nd.Text=dr["NodeName"].ToString(); //设置节点名称
56[VS.NET]关于IE Web Controls的安装配置问题
57[VS.NET]关于IE Web Controls的安装配置问题this.AddNodes(dt,nd,nd.NodeData); //递归,添加该节点的子节点
58[VS.NET]关于IE Web Controls的安装配置问题
59[VS.NET]关于IE Web Controls的安装配置问题if(node==null || id=="0")
60[VS.NET]关于IE Web Controls的安装配置问题
61[VS.NET]关于IE Web Controls的安装配置问题{
62[VS.NET]关于IE Web Controls的安装配置问题
63[VS.NET]关于IE Web Controls的安装配置问题this.TreeView1.Nodes.Add(nd); //添加至根节点
64[VS.NET]关于IE Web Controls的安装配置问题
65[VS.NET]关于IE Web Controls的安装配置问题}

66[VS.NET]关于IE Web Controls的安装配置问题
67[VS.NET]关于IE Web Controls的安装配置问题else
68[VS.NET]关于IE Web Controls的安装配置问题
69[VS.NET]关于IE Web Controls的安装配置问题{
70[VS.NET]关于IE Web Controls的安装配置问题
71[VS.NET]关于IE Web Controls的安装配置问题node.Nodes.Add(nd); //添加子节点
72[VS.NET]关于IE Web Controls的安装配置问题
73[VS.NET]关于IE Web Controls的安装配置问题}

74[VS.NET]关于IE Web Controls的安装配置问题
75[VS.NET]关于IE Web Controls的安装配置问题}

76[VS.NET]关于IE Web Controls的安装配置问题
77[VS.NET]关于IE Web Controls的安装配置问题

 

2、 展开节点时读取该节点的数据

TreeView 控件属性→ 自动提交(AutoPostBack) → True

TreeView 控件属性→ 事件 → 双击展开(Expand) 

  1 [VS.NET]关于IE Web Controls的安装配置问题 private   void  Page_Load( object  sender, System.EventArgs e)
  2 [VS.NET]关于IE Web Controls的安装配置问题
  3 [VS.NET]关于IE Web Controls的安装配置问题 {
  4[VS.NET]关于IE Web Controls的安装配置问题
  5[VS.NET]关于IE Web Controls的安装配置问题if(!IsPostBack)
  6[VS.NET]关于IE Web Controls的安装配置问题
  7[VS.NET]关于IE Web Controls的安装配置问题{
  8[VS.NET]关于IE Web Controls的安装配置问题
  9[VS.NET]关于IE Web Controls的安装配置问题this.AddSingleNode(null,"0"); //找出根节点
 10[VS.NET]关于IE Web Controls的安装配置问题
 11[VS.NET]关于IE Web Controls的安装配置问题}

 12[VS.NET]关于IE Web Controls的安装配置问题
 13[VS.NET]关于IE Web Controls的安装配置问题this.TreeView1.SelectedNodeIndex=""//不选中任何节点
 14[VS.NET]关于IE Web Controls的安装配置问题
 15[VS.NET]关于IE Web Controls的安装配置问题}
 
 16 [VS.NET]关于IE Web Controls的安装配置问题
 17 [VS.NET]关于IE Web Controls的安装配置问题 
 18 [VS.NET]关于IE Web Controls的安装配置问题
 19 [VS.NET]关于IE Web Controls的安装配置问题 /// 
 20[VS.NET]关于IE Web Controls的安装配置问题
 21[VS.NET]关于IE Web Controls的安装配置问题/// 展开节点时,触发的事件
 22[VS.NET]关于IE Web Controls的安装配置问题
 23[VS.NET]关于IE Web Controls的安装配置问题/// 
 24[VS.NET]关于IE Web Controls的安装配置问题
 25[VS.NET]关于IE Web Controls的安装配置问题/// TreeView 控件
 26[VS.NET]关于IE Web Controls的安装配置问题
 27[VS.NET]关于IE Web Controls的安装配置问题/// 

 28 [VS.NET]关于IE Web Controls的安装配置问题
 29 [VS.NET]关于IE Web Controls的安装配置问题 private   void  TreeView1_Expand( object  sender, Microsoft.Web.UI.WebControls.TreeViewClickEventArgs e)
 30 [VS.NET]关于IE Web Controls的安装配置问题
 31 [VS.NET]关于IE Web Controls的安装配置问题 {
 32[VS.NET]关于IE Web Controls的安装配置问题
 33[VS.NET]关于IE Web Controls的安装配置问题TreeNode nd = this.TreeView1.GetNodeFromIndex(e.Node); //找到触发事件的节点,即正在展开的节点
 34[VS.NET]关于IE Web Controls的安装配置问题
 35[VS.NET]关于IE Web Controls的安装配置问题if(nd.Nodes[0].NodeData==""//第一次加载,即只有“正在加载……”这一项
 36[VS.NET]关于IE Web Controls的安装配置问题
 37[VS.NET]关于IE Web Controls的安装配置问题{
 38[VS.NET]关于IE Web Controls的安装配置问题
 39[VS.NET]关于IE Web Controls的安装配置问题this.AddSingleNode(nd,nd.NodeData); //加载子节点
 40[VS.NET]关于IE Web Controls的安装配置问题
 41[VS.NET]关于IE Web Controls的安装配置问题}

 42[VS.NET]关于IE Web Controls的安装配置问题
 43[VS.NET]关于IE Web Controls的安装配置问题}

 44 [VS.NET]关于IE Web Controls的安装配置问题
 45 [VS.NET]关于IE Web Controls的安装配置问题 
 46 [VS.NET]关于IE Web Controls的安装配置问题
 47 [VS.NET]关于IE Web Controls的安装配置问题 /// 
 48[VS.NET]关于IE Web Controls的安装配置问题
 49[VS.NET]关于IE Web Controls的安装配置问题/// 只查找、添加单个节点下的子节点
 50[VS.NET]关于IE Web Controls的安装配置问题
 51[VS.NET]关于IE Web Controls的安装配置问题/// 
 52[VS.NET]关于IE Web Controls的安装配置问题
 53[VS.NET]关于IE Web Controls的安装配置问题/// 需要添加子节点的 TreeNode
 54[VS.NET]关于IE Web Controls的安装配置问题
 55[VS.NET]关于IE Web Controls的安装配置问题/// 该节点的 NodeID 

 56 [VS.NET]关于IE Web Controls的安装配置问题
 57 [VS.NET]关于IE Web Controls的安装配置问题 private   void  AddSingleNode(TreeNode node, string  id)
 58 [VS.NET]关于IE Web Controls的安装配置问题
 59 [VS.NET]关于IE Web Controls的安装配置问题 {
 60[VS.NET]关于IE Web Controls的安装配置问题
 61[VS.NET]关于IE Web Controls的安装配置问题if(node!=null && id!="0")
 62[VS.NET]关于IE Web Controls的安装配置问题
 63[VS.NET]关于IE Web Controls的安装配置问题{
 64[VS.NET]关于IE Web Controls的安装配置问题
 65[VS.NET]关于IE Web Controls的安装配置问题node.Nodes.Clear();//清空节点,主要是把“正在加载……”这一项移除
 66[VS.NET]关于IE Web Controls的安装配置问题
 67[VS.NET]关于IE Web Controls的安装配置问题}

 68[VS.NET]关于IE Web Controls的安装配置问题
 69[VS.NET]关于IE Web Controls的安装配置问题DBSystem.ExecuteSQL tmp = new DBSystem.ExecuteSQL("T");
 70[VS.NET]关于IE Web Controls的安装配置问题
 71[VS.NET]关于IE Web Controls的安装配置问题DataTable dt = tmp.GetDataTable("select * from TreeView where ParentID="+id);//从数据库抓出数据
 72[VS.NET]关于IE Web Controls的安装配置问题
 73[VS.NET]关于IE Web Controls的安装配置问题foreach(DataRow dr in dt.Rows) //历遍所有子节点
 74[VS.NET]关于IE Web Controls的安装配置问题
 75[VS.NET]关于IE Web Controls的安装配置问题{
 76[VS.NET]关于IE Web Controls的安装配置问题
 77[VS.NET]关于IE Web Controls的安装配置问题TreeNode nd = new TreeNode();
 78[VS.NET]关于IE Web Controls的安装配置问题
 79[VS.NET]关于IE Web Controls的安装配置问题nd.NavigateUrl=dr["URL"].ToString(); //设置浏览的网址
 80[VS.NET]关于IE Web Controls的安装配置问题
 81[VS.NET]关于IE Web Controls的安装配置问题nd.NodeData=dr["NodeID"].ToString(); //存放节点 ID
 82[VS.NET]关于IE Web Controls的安装配置问题
 83[VS.NET]关于IE Web Controls的安装配置问题nd.Text=dr["NodeName"].ToString(); //设置节点名称
 84[VS.NET]关于IE Web Controls的安装配置问题
 85[VS.NET]关于IE Web Controls的安装配置问题 
 86[VS.NET]关于IE Web Controls的安装配置问题
 87[VS.NET]关于IE Web Controls的安装配置问题TreeNode child = new TreeNode(); //此节点只作为“nd”展开的依据,并无它意
 88[VS.NET]关于IE Web Controls的安装配置问题
 89[VS.NET]关于IE Web Controls的安装配置问题child.Text="正在加载……";
 90[VS.NET]关于IE Web Controls的安装配置问题
 91[VS.NET]关于IE Web Controls的安装配置问题nd.Nodes.Add(child);
 92[VS.NET]关于IE Web Controls的安装配置问题
 93[VS.NET]关于IE Web Controls的安装配置问题if(node==null|| id=="0")
 94[VS.NET]关于IE Web Controls的安装配置问题
 95[VS.NET]关于IE Web Controls的安装配置问题{
 96[VS.NET]关于IE Web Controls的安装配置问题
 97[VS.NET]关于IE Web Controls的安装配置问题this.TreeView1.Nodes.Add(nd); //添加至根节点
 98[VS.NET]关于IE Web Controls的安装配置问题
 99[VS.NET]关于IE Web Controls的安装配置问题}

100[VS.NET]关于IE Web Controls的安装配置问题
101[VS.NET]关于IE Web Controls的安装配置问题else
102[VS.NET]关于IE Web Controls的安装配置问题
103[VS.NET]关于IE Web Controls的安装配置问题{
104[VS.NET]关于IE Web Controls的安装配置问题
105[VS.NET]关于IE Web Controls的安装配置问题node.Nodes.Add(nd); //添加子节点
106[VS.NET]关于IE Web Controls的安装配置问题
107[VS.NET]关于IE Web Controls的安装配置问题}

108[VS.NET]关于IE Web Controls的安装配置问题
109[VS.NET]关于IE Web Controls的安装配置问题}

110[VS.NET]关于IE Web Controls的安装配置问题
111[VS.NET]关于IE Web Controls的安装配置问题}

112 [VS.NET]关于IE Web Controls的安装配置问题
113 [VS.NET]关于IE Web Controls的安装配置问题

 五、 修改“TreeView.cs”源码,取消 TreeView 默认选中节点

1、TreeView.cs 文件

在文中﹐找到 “ protected override void OnLoad(EventArgs e)”事件

“ protected override void OnPreRender(EventArgs e)” 事件,修改以下代码

 

if ((SelectedNodeIndex == "" || SelectedNodeIndex == String.Empty) && Nodes.Count > 0)

//SelectedNodeIndex = "0"; //修改前

SelectedNodeIndex = ""; //修改后

 2、TreeView.htc 文件

在“C:\Inetpub\wwwroot\webctrl_client\1_0\ TreeView.htc”中找到“function ondocumentready()”把以下代码注释掉 

 1 [VS.NET]关于IE Web Controls的安装配置问题 //  verify selectedNodeIndex 
 2 [VS.NET]关于IE Web Controls的安装配置问题
 3 [VS.NET]关于IE Web Controls的安装配置问题 /****************** Change By Jerry On 2005-01-25 ******************/  
 4 [VS.NET]关于IE Web Controls的安装配置问题
 5 [VS.NET]关于IE Web Controls的安装配置问题 /* 
 6[VS.NET]关于IE Web Controls的安装配置问题
 7[VS.NET]关于IE Web Controls的安装配置问题if (getNodeFromIndex(selectedNodeIndex) == null) { if (getNodeFromIndex("0") != null) selectedNodeIndex = "0"; else selectedNodeIndex = ""; } 
 8[VS.NET]关于IE Web Controls的安装配置问题
 9[VS.NET]关于IE Web Controls的安装配置问题*/
 
10 [VS.NET]关于IE Web Controls的安装配置问题
11 [VS.NET]关于IE Web Controls的安装配置问题 /****************** Change By Jerry On 2005-01-25 ******************/
12 [VS.NET]关于IE Web Controls的安装配置问题

 在“function tryToBuildTreeFromRoot()”修改以下代码 

 1 [VS.NET]关于IE Web Controls的安装配置问题 if  (selectedNodeIndex.length  ==   0 )
 2 [VS.NET]关于IE Web Controls的安装配置问题
 3 [VS.NET]关于IE Web Controls的安装配置问题
 4[VS.NET]关于IE Web Controls的安装配置问题
 5[VS.NET]关于IE Web Controls的安装配置问题//prop_selectedNodeIndex = "0"; //修改前
 6[VS.NET]关于IE Web Controls的安装配置问题
 7[VS.NET]关于IE Web Controls的安装配置问题prop_selectedNodeIndex = ""//修改后
 8[VS.NET]关于IE Web Controls的安装配置问题
 9[VS.NET]关于IE Web Controls的安装配置问题}

10 [VS.NET]关于IE Web Controls的安装配置问题

 3、使用

修改“TreeView.cs”后,重新编译一次,生成新的“Microsoft.Web.UI.WebControls.dll”。应用时只需要设置“SelectedNodeIndex”为 “” 即可

this.TreeView1.SelectedNodeIndex=""; //不选中任何节点。

 六、 使用 XML 文档创建 TreeView

1、XML 文档的要求

a) 描述节点名称是固定的“”与“”

b) 虽然 XML 文文件对字母的大小写严格区分,但绑定时会忽略

c) “”节点中的属性,必须与 TreeView 控件中的 TreeNode 属性对应

d) “”节点中的文本不能写在节点内,只能以 “Text”属性出现,如“Node01”行不通,应为“”

以下是一个可用于“TreeView”控件绑定源的范例﹕

2、绑定的代码

1 [VS.NET]关于IE Web Controls的安装配置问题 this .TreeView1.TreeNodeSrc = " TreeXML.xml " ;
2 [VS.NET]关于IE Web Controls的安装配置问题
3 [VS.NET]关于IE Web Controls的安装配置问题 this .TreeView1.DataBind();
4 [VS.NET]关于IE Web Controls的安装配置问题
5 [VS.NET]关于IE Web Controls的安装配置问题 
6 [VS.NET]关于IE Web Controls的安装配置问题

你可能感兴趣的:(.net)