带列的 TreeView
Posted
技术标签:
【中文标题】带列的 TreeView【英文标题】:TreeView with columns 【发布时间】:2021-12-11 16:06:14 【问题描述】:我需要为我正在编写的应用程序提供多列 Treeview,我想知道是否有人知道免费工作(在 Vs-2010 中)多列 Treeview。
【问题讨论】:
WinForms、WPF、ASP.NET、...?具有多列的 TreeView 究竟会是什么样子?你可以发布一个样机图像吗?我无法想象它是如何使用的。 @Cody 在 Delphi 领域,每个人都为此使用虚拟树视图,是的,他们确实在多列中使用它! 啊,当然。如果您将其描述为可扩展的 ListView,我会确切地知道您在说什么。没有充分的理由将其归类为其中之一。在没有进一步说明的情况下,我的回答假设 WinForms 只是因为。 【参考方案1】:在网上可以找到许多示例控件:
TreeViewAdv for .Net TreeView with Columns ContainerListView and TreeListView但一直以来最受欢迎的可能是ObjectListView,它提供了一个可扩展的多列 ListView,以及许多其他非常方便的功能:
【讨论】:
警告 2 引用的程序集“ObjectListView”无法解析,因为它依赖于不在当前目标框架“.NETFramework,Version=v4.0,Profile=Client”。请删除对不在目标框架中的程序集的引用,或考虑重新定位您的项目。 WindowsFormsApplication9 + 找不到命名空间 BrightIdeasSoftware 的类型 @Vade:是的,它依赖于System.Design
命名空间,它不是客户端配置文件框架的一部分。但是,VS 2010 默认会创建针对客户端配置文件的新项目,因此您必须手动更改它。进入您的项目属性并切换到完整的 .NET 4.0 框架。然后添加对System.Design
的引用并重新编译。
@Vade:向下滚动到this page 上的第二个标题(更改现有项目),以获取有关如何更改目标框架的分步说明。
@Vade: 1) 是的,您需要完整版本的 .NET Framework,而不是客户端配置文件。它大约大 15%,几乎是微不足道的。虽然你没有太多选择。 System.Design
不在客户端配置文件中。 2) 您需要阅读 ObjectListView 的文档。其功能的权衡是它不是完全标准 ListView/TreeView 控件的直接替代品。事情的行为有点不同,但是文档非常好。请参阅Getting Started 部分。
我看到的 ObjectListView 最大的问题是它是在 GPLv3 下获得许可的。为什么哦,为什么至少不使用 LGPL?除了在 GPL 许可程序中使用之外,它毫无用处。【参考方案2】:
你可以使用这个例子here或者下载这个control
【讨论】:
“这里”-链接不是很可读,我更喜欢一些合理的链接文本,它可以告诉我链接指向哪里,而不必实际跟随链接。 我想要这里的单元格编辑功能与这个控件我们怎么能做到这一点。 @Anil:这是一个非常古老的问题,不知道如何提供帮助。对此感到抱歉。干杯。【参考方案3】:试试这个 Microsof TreeListView WPF 控件
http://msdn.microsoft.com/en-us/library/vstudio/ms771523%28v=vs.90%29.aspx
【讨论】:
【参考方案4】:您可以在用户界面中给用户一个错觉。
-
拖动一个列表视图并将其放在已放置在表单中的树视图上。
根据需要在列表视图中创建列。
将列表视图的“HeaderStyle”属性设置为“Nonclickable”,将“Scrollabe”属性设置为“False”。
设置列表视图的宽度和位置,使其适合树视图。
【讨论】:
以上是关于带列的 TreeView的主要内容,如果未能解决你的问题,请参考以下文章