在 LabVIEW 中,我们如何以编程方式构建一个只有具有不同名称和标签的 Left Cell Strings 的树形控件?

In LabVIEW, how can we programmatically construct a tree control which has only Left Cell Strings with different names and tags?

我有如下图所示的数据。在这种情况下,我手动添加了树中的项目。

此外,树中的每个项目都有一个与之关联的唯一标签。

我可以手动执行此操作,但是当我尝试使用 Invoke 节点中的 'Edit Tree Item.Add Item' 方法执行相同操作时,它看起来像:

我附上了我为此使用的 vi。请看一看,让我知道如何让它发挥作用。

Tree_Construct.vi

谢谢

编辑: 现在使用 Labview 代码

在树中,每个条目都有一个标签,并通过父条目的标签 linked 到父条目。即:Element1 是 Project 的子项,Project 是 Element1 的父项。同样,Element1 是 Subelement1 和 Subelement2 的父级。和项目?它在根级,没有父级,所以它的父级标签是空的。

有两种填充树的方法:

EditTreeItem.AddItem

此节点有输入 ChildTagParentTag。如果 ParentTag 是 empty/not 连接,则该项目被放置在根级别。使用 ParentTag link 一个条目在另一个条目之下。

临:

  • 只要您知道现有条目的标签,在任何现有条目下方添加新条目就很容易。

缺点:

  • 树在每次调用后更新,使得许多条目的执行速度非常慢。使用 DeferPanelUpdates 使其更快。
  • 很多代码,如果你已经知道缩进级别。

EditTreeItem.AddMultibleItemsToEnd

此节点获取一个项目数组作为输入,这些项目按照它们在数组中的顺序插入到树中。他们每个人都有一个数字ItemIndent来控制树的结构。

临:

  • 非常快
  • 最好知道缩进级别,并且不想弄乱标签

缺点:

  • 只能将条目追加到末尾

这是一个示例片段(您可以将图像拖到一个空的 LV 博客图表中!)显示两种方法: