代码之家  ›  专栏  ›  技术社区  ›  Remko

虚拟树视图中可能有多个扩展节点?

  •  3
  • Remko  · 技术社区  · 15 年前

    我用的是TvirtualStringTree Virtual TreeView Component )在我的 Delphi project 我想创建一个视图,其中两列可以有子级,子级可以用[+]符号展开/折叠。 在下面的示例图片中,我希望在服务器列和图像列中都有一个[+]符号。其思想是树有几个服务器节点,每个服务器节点都有许多进程子节点(主列是映像),有些进程有子进程,子进程是进程节点的子进程。

    alt text http://www.remkoweijnen.nl/temp/TreeView.png

    这样的布局有可能吗?如果没有默认的组件,我会很感激如何在子代中实现这一点的建议。

    /编辑:使用tondrej建议的方法时,会出现以下屏幕截图: alt text http://www.remkoweijnen.nl/temp/TreeView2.png alt text http://www.remkoweijnen.nl/temp/TreeView3.png alt text http://www.remkoweijnen.nl/temp/TreeView4.png

    好吧,我决定按照Tondrej的想法实施: alt text http://www.remkoweijnen.nl/temp/TreeView5.png

    2 回复  |  直到 15 年前
        1
  •  4
  •   Ondrej Kelle    15 年前

    你很可能不需要。只需明确说明你需要什么样的分组。第一列可以是多用途的—显示每个分组级别上的不同信息—例如级别0:服务器、级别1:进程、级别2及更高级别:子进程。 在每个级别上,只有与该级别相关的列才需要显示任何信息。在上面的示例中,级别0将只在第一列中显示服务器名称;其余列将保持为空。

    通过自定义绘图,您可能可以实现任意数量的加号,但这将是一项繁重的工作,我真的认为结果是不必要的、不寻常的,而且很容易让用户混淆。

        2
  •  3
  •   Ritsaert Hornstra    15 年前

    只有一列可以有树,其他列充当一个列表视图。带有树的列是主列。

    我不知道如果两个列有一个树,并且它们可能“冲突”,那么您的分组将如何工作。什么是父节点等等。从技术上讲,这可能不是提供这些细节的最佳方式;用户不会期望它以这种方式工作。