# Create Dynamic Tag Display Table Using the Tag Browse Tree

**URL:** <https://forum.inductiveautomation.com/t/create-dynamic-tag-display-table-using-the-tag-browse-tree/81676>\
**Category:** Ignition\
**Tags:** ignition81, vision\
**Created:** [November 8, 2023, 6:59pm UTC](https://forum.inductiveautomation.com/t/create-dynamic-tag-display-table-using-the-tag-browse-tree/81676 "2023-11-08T18:59:52Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![FNNewGuy](https://avatars.discourse-cdn.com/v4/letter/f/ecc23a/32.png) [@FNNewGuy](https://forum.inductiveautomation.com/u/FNNewGuy)\
**Post date:** [November 8, 2023, 6:59pm UTC](https://forum.inductiveautomation.com/t/create-dynamic-tag-display-table-using-the-tag-browse-tree/81676/1 "2023-11-08T18:59:52Z")

</div>

Hi,

I am trying to create a display that shows the values for a set of OPC tags selected from a Tag Browse Tree. I am able to show the path by binding to the "selectedPaths" property but I would like to show the path in a column, and then the value in a second column next to that.  
I am guessing that there will need some type of scripting involved and am new to scripting but trying to learn. I have done a number of searches and have not been able to find a solution thus far.  
Just FYI, I'm using 8.1.  
Thank you for the help!

---

<div class="post-metadata">

**Author:** ![Felipe\_CRM](https://avatars.discourse-cdn.com/v4/letter/f/dfb087/32.png) [@Felipe\_CRM](https://forum.inductiveautomation.com/u/Felipe_CRM)\
**Post date:** [November 8, 2023, 7:14pm UTC](https://forum.inductiveautomation.com/t/create-dynamic-tag-display-table-using-the-tag-browse-tree/81676/2 "2023-11-08T19:14:26Z")

</div>

I added some tags to your post so it's easier for the right people to see. From the name of the property I assume you're using Vision. If that's not the case, please feel free to edit the tag.

---

<div class="post-metadata">

**Author:** ![FNNewGuy](https://avatars.discourse-cdn.com/v4/letter/f/ecc23a/32.png) [@FNNewGuy](https://forum.inductiveautomation.com/u/FNNewGuy)\
**Post date:** [November 8, 2023, 7:16pm UTC](https://forum.inductiveautomation.com/t/create-dynamic-tag-display-table-using-the-tag-browse-tree/81676/3 "2023-11-08T19:16:59Z")

</div>

Perfect, thanks for the help! You're correct, I am using Vision.

---

<div class="post-metadata">

**Author:** ![Felipe\_CRM](https://avatars.discourse-cdn.com/v4/letter/f/dfb087/32.png) [@Felipe\_CRM](https://forum.inductiveautomation.com/u/Felipe_CRM)\
**Post date:** [November 8, 2023, 7:25pm UTC](https://forum.inductiveautomation.com/t/create-dynamic-tag-display-table-using-the-tag-browse-tree/81676/4 "2023-11-08T19:25:35Z")

</div>

You're welcome! From the looks of it, you should be able to use a property change script on the tag browse tree that would check if the property that changed is `selectedPaths`. From there, you could use the dataset functions (`system.dataset.getColumnAsList()`) to turn that dataset of paths into a list, then use that in `system.tag.readBlocking()` to get the values. You could then use a list comprehension to pack that into a list of [path, value] lists:

```auto
rows = [list(x) for x in zip(paths, values)]

```

and finally turn that into a dataset that goes into the table's data property (`system.dataset.toDataset(headers, rows)`). Because it's relatively involved, I'd put all that logic into a library script that is called from the property change script.

Hopefully that lets you get started, and if you need clarification on any step we're here to help.

---

<div class="post-metadata">

**Author:** ![leonardo.godoi](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/leonardo.godoi/32/27178_2.png) [@leonardo.godoi](https://forum.inductiveautomation.com/u/leonardo.godoi)\
**Post date:** [November 8, 2023, 7:32pm UTC](https://forum.inductiveautomation.com/t/create-dynamic-tag-display-table-using-the-tag-browse-tree/81676/5 "2023-11-08T19:32:29Z")

</div>

I would use a template repeater to show these values and every time the user selects a tag it gets added to the repeater by a propertyChange script that looks at the "selectedPaths" property.  
First you would need to create a [Template with Indirection](https://docs.inductiveautomation.com/display/DOC81/Template+Indirection).  
Add a [Template Repeater](https://docs.inductiveautomation.com/display/DOC81/Vision+-+Template+Repeater) to your window.[Using the template repeater, this would also be useful.](https://docs.inductiveautomation.com/display/DOC81/Using+the+Template+Repeater)  
A good look at how [Datasets](https://docs.inductiveautomation.com/display/DOC81/Datasets) work should tie everything together, i suggest you take a look at those links, try something out and if you have any questions, come back.

---

<div class="post-metadata">

**Author:** ![dick.willis](https://avatars.discourse-cdn.com/v4/letter/d/7ea924/32.png) [@dick.willis](https://forum.inductiveautomation.com/u/dick.willis)\
**Post date:** [August 6, 2025, 9:03pm UTC](https://forum.inductiveautomation.com/t/create-dynamic-tag-display-table-using-the-tag-browse-tree/81676/6 "2025-08-06T21:03:00Z")

</div>

Anybody thought to publish this (for either Perspective or Vision) in the Exchange … this would be pretty handy for all of us to use.

If I do have to build one, we’ll publish it …

Cuz … what I’m really looking for is a way to NOT have to open a designer just to see the tag tree’s current values.

Anybody got a Perspective project that combines the tree with the tree-node-values, that resembles the Designer’s TagBrowser?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [August 6, 2025, 9:53pm UTC](https://forum.inductiveautomation.com/t/create-dynamic-tag-display-table-using-the-tag-browse-tree/81676/7 "2025-08-06T21:53:40Z")

</div>

My tag report utility from the exchange shows live tag values.
