带列的 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的主要内容,如果未能解决你的问题,请参考以下文章

Postgres获取带列的表架构

如何在jqGrid中禁用所选列的搜索选项?

Pandas:转换列的类型

试图从时间戳 R 中提取日期

webpack打包流程进阶

使用TreeView加载文件夹