解决TreeView控件不能正常显示的问题

今儿个帮公司维护官网,发现了奇怪的问题。进入后台管理的时候,原来的TreeView控件不能正常显示了,只有一堆乱七八糟的文字。刚开始,我以为是浏览器兼容性问题,后来换了几个浏览器再试,结果还是一样。经过一番思考,我开始怀疑我本机的系统环境没有配置好,或者是跟服务器环境有部分的差异。我仔细检查了一下,当时官网是时使用VS2003开发的,而现在搬到我的PC上面可以运行,不报错但是出现了这种奇怪的现象......这个得从TreeView的早期说起了,以下是详细解决的办法。

当我们使用ASP.NET的TREEVIEW控件时候,我们发现ASP.NET的TREEVIEW控件不能显示树型而是显示为顺序排列的文字。我们该怎么解决呢?


(1)安装IEWebControls.(下载地址:http://asp.net/IEWebControls/Download.aspx?tabid=1)


(2)运行Build.bat.注意,我们先用记事本打开Build.bat,在里面我们看到csc.exe,它的前面没有路径,所以我们运行它的时候会产生一个build目录及其相应文件,却在build目录下无法找到Microsoft.Web.UI.WebControls.dll.解决方法:打开C盘(假设操作系统安装在该盘下),搜索csc.exe,我们会发现搜索到两个文件,选择第一个文件(名称为csc)的属性,复制其位置:C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322,然后将它粘贴到Build.bat中csc.exe前面即可(C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/csc.exe),再运行Build.bat.


(3)

1.如果IIS的根目录默认的路径(c:/inetpub/wwwroot)没有改变,则只需要将运行Build.bat后生成的build目录下的Runtime目录下的文件和文件夹一起复制到C:/Inetpub/wwwroot/webctrl_client/1_0下就可以了,webctrl_client/1_0这两级目录需要你自己创建.(文件夹名称别弄错了哦!:))

2.如果IIS的根目录已经由默认的路径(c:/inetpub/wwwroot)改变为其他路径(假设为D:/example),我们需要重新在IIS上注册asp.net,具体步骤:Windows “开始”菜单->“程序”->“Visual Studio .NET 2003”->“Visual Studio .NET 工具”->“Visual Studio .NET 命令提示”,然后在该窗口输入打开后,输入 aspnet_regiis /i 回车即可。成功安装后,你会发现D:/example目录下多了一个名为aspnet_client的文件夹,表示你注册成功了!然后需要将运行Build.bat后生成的build目录下的Runtime目录下的文件复制到D:/example/webctrl_client/1_0下就可以了,webctrl_client/1_0 这两级目录需要你自己创建.

(4)把生成的Microsoft.Web.UI.WebControls.dll 放到你的工程项目中文件夹的名称为 bin 的目录下。

这样ASP.NET的TREEVIEW控件就能够正确显示树型结构了!

友情提示:你成功安装 IEWebControls 后(默认C盘哈),你在C:/Program Files/IE Web Controls下有个README.txt的文本文件,上面非常详细的讲解了如何正确使用 IEWebControls 的方法,并给出了样例。:)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python中的treeview控件是一种用于显示层次结构数据的控件,通常用于显示文件系统、目录结构、数据库表格等。它可以让用户通过展开和折叠节点来浏览数据,同时也支持对节点进行增删改查等操作。 使用treeview控件需要先导入tkinter模块中的ttk子模块,然后创建一个treeview对象,并设置其列名、列宽、列对齐方式等属性。接着可以通过insert方法向treeview中添加节点,也可以通过delete方法删除节点,通过item方法获取节点信息,通过set方法修改节点的值等。 在使用treeview控件时,还可以设置节点的样式、颜色、字体等属性,以及绑定事件处理函数,实现更加丰富的交互效果。同时,还可以通过treeview的tag属性来对节点进行分组,方便对不同类型的节点进行批量操作。 总之,treeview控件是Python GUI编程中非常实用的一个控件,掌握其使用方法可以帮助我们更加高效地开发各种应用程序。 ### 回答2: Python Treeview控件是TKinter GUI开发工具包中的一种控件。它主要用于显示和编辑带有层次结构的数据,如文件目录、网站导航菜单等。下面是Python Treeview控件的使用详解。 1. 导入模块 在使用Treeview控件前,首先需要导入TKinter模块。代码如下: ``` import tkinter as tk from tkinter import ttk ``` 2. 创建Treeview控件 通过使用ttk.Treeview()构造函数来创建一个Treeview控件。代码如下: ``` tree = ttk.Treeview(root) ``` 其中root是TK根窗口。默认情况下,Treeview控件是不显示的,需要通过pack()或grid()方法将其放置在窗口中。 3. 添加列 在Treeview控件中,需要添加列来显示数据。使用heading()方法定义表头。代码如下: ``` tree["columns"] = ("name", "age", "gender") tree.heading("#0", text="ID") tree.heading("name", text="Name") tree.heading("age", text="Age") tree.heading("gender", text="Gender") ``` 其中,#0列是默认的一列,可以通过text参数设置列的标题。 4. 添加数据 在创建Treeview控件后,需要向其中添加数据。使用insert()方法添加一行数据。代码如下: ``` tree.insert("", "end", text="001", values=("John Doe", 30, "Male")) tree.insert("", "end", text="002", values=("Jane Smith", 25, "Female")) tree.insert("", "end", text="003", values=("Tom Brown", 40, "Male")) ``` 其中,第一个参数是父节点的ID。如果是根节点,则为空字符串。第二个参数是插入位置。如果是“end”,则表示在当前父节点的末尾插入。text参数用于设置节点的标题。 5. 节点之间的关系 Treeview控件可以显示节点之间的父子关系。使用insert()方法添加节点时,可以通过设置parent参数来指定它的父节点。代码如下: ``` tree.insert("", "end", text="001", values=("John Doe", 30, "Male")) tree.insert("001", "end", text="010", values=("David Lee", 18, "Male")) tree.insert("001", "end", text="011", values=("Amy Wang", 21, "Female")) ``` 其中,第一个节点“001”是根节点,第二个节点“010”和第三个节点“011”是其子节点。 6. 选择节点和事件处理 可以使用selection()方法获取当前选中的节点。可以使用bind()方法为Treeview控件绑定事件处理函数。代码如下: ``` def show_details(event): item = tree.selection()[0] print(tree.item(item)["values"]) tree.bind("<<TreeviewSelect>>", show_details) ``` 在此示例中,当用户单击Treeview控件中的任何节点时,show_details()方法将被调用。它获取当前选中的节点并打印其值。 7. 修改节点 可以使用item()方法修改节点的值。代码如下: ``` item = tree.selection()[0] tree.item(item, values=("Peter Li", 35, "Male")) ``` 在此示例中,选中的节点的值被修改为Peter Li、35、Male。 总之,Python Treeview控件是TKinter GUI开发工具包中的一种非常有用的控件,可用于显示和编辑树形结构数据。本文详细介绍了Python Treeview控件的使用方法,包括创建控件、添加表头和数据、节点之间的关系、事件处理和修改节点。当你需要在Python应用程序中显示和编辑树形结构数据时,可以考虑使用Treeview控件。 ### 回答3: TreeView控件是Python GUI程序中非常常用的一种控件,其主要用于显示和管理树状数据结构。TreeView控件通常分为两个部分,一个是树的展示部分,另一个是与树相关的操作部分。Python的Tkinter库中就提供了TreeView控件TreeView控件最基本的用法就是树状数据的展示。首先我们需要创建一个TreeView对象,然后向其添加根结点,接着在根结点下添加子结点。例如: ``` from tkinter import * from tkinter import ttk root = Tk() tree = ttk.Treeview(root) tree.pack() tree.insert('', '0', 'root1', text='Root 1') tree.insert('', '1', 'root2', text='Root 2') tree.insert('root1', '0', 'child1', text='Child 1') tree.insert('root2', '0', 'child2', text='Child 2') root.mainloop() ``` 上述代码创建了一个空的TreeView对象,并向其添加了两个根结点——root1和root2。其中''代表父结点为空,即为根结点;'0'代表插入时插入到父结点的第0个位置。 我们还可以在添加结点时添加更多的属性,例如: ``` tree.insert('root1', '1', 'child2', text='Child 2', values=('1', '2', '3')) ``` 上述代码在root1结点下插入了一个名为Child 2的结点,并传入一个tuple作为values属性,在TreeView控件中会以表格的形式展示。同时也可以通过set方法修改values属性。 TreeView控件还可以绑定事件,例如双击事件,单击事件等,通过bind方法实现。例如: ``` def onclick(event): item = tree.selection()[0] print(tree.item(item,"text")) tree.bind('<ButtonRelease-1>', onclick) ``` 上述代码定义了一个onclick函数,并将其绑定在tree对象上。当单击TreeView控件,释放鼠标左键时触发此函数,它将获取当前被选中的item的文本信息。 当然,我们还可以对TreeView控件进行更多的修改,例如改变字体,背景颜色,边框颜色等。例如: ``` style = ttk.Style() style.configure("mystyle.Treeview", font=('Arial', 12), foreground='red') style.configure("mystyle.Treeview.Heading", font=('Arial', 14), foreground='blue', background='yellow') tree.configure(style="mystyle.Treeview") ``` 上述代码定义了一个名为mystyle的样式,将字体设置成Arial,字号设置成12,前景色设置成红色。接着又设置了一个mystyle.Treeview.Heading的样式,将字体设置成Arial,字号设置成14,前景色设置成蓝色,背景色设置成黄色。最后将tree对象的样式设置成mystyle.Treeview。 以上便是Python中TreeView控件的基本用法和部分常用功能的解释。当然,Treeview控件的应用还有更加丰富的用法和功能,需要开发者通过实践进行学习和掌握。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值