# Populating dataset

**URL:** <https://forum.inductiveautomation.com/t/populating-dataset/107602>\
**Category:** Ignition\
**Tags:** vision\
**Created:** [June 20, 2025, 12:32am UTC](https://forum.inductiveautomation.com/t/populating-dataset/107602 "2025-06-20T00:32:16Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![aaaa](https://avatars.discourse-cdn.com/v4/letter/a/eb8c5e/32.png) [@aaaa](https://forum.inductiveautomation.com/u/aaaa)\
**Post date:** [June 20, 2025, 12:32am UTC](https://forum.inductiveautomation.com/t/populating-dataset/107602/1 "2025-06-20T00:32:16Z")

</div>

I have an array of 20 structs. I'd like to show each struct as a row in a table. I populated the table dataset using a custom method called loadeventlog() and a timer that invokes the method every 5s.

Is there a way to bind tag paths for each struct 1-20 to each row and have them update in the table as any other OPCUA tag updates, without this timer that rewrites the data to the table? Thanks.

---

<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:** [June 20, 2025, 1:36am UTC](https://forum.inductiveautomation.com/t/populating-dataset/107602/2 "2025-06-20T01:36:18Z")

</div>

Built-in to Ignition? No.

You might find my [tags()](https://www.automation-pros.com/toolkit/doc/utility.html#tags) expression function helpful.

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [June 20, 2025, 1:37am UTC](https://forum.inductiveautomation.com/t/populating-dataset/107602/3 "2025-06-20T01:37:36Z")

</div>

They sound like static tags, Phil, so can just use cell update bindings on the table, creating one for each cell. Painfully slow to setup..

---

<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:** [June 20, 2025, 1:40am UTC](https://forum.inductiveautomation.com/t/populating-dataset/107602/4 "2025-06-20T01:40:05Z")

</div>

I don't ever use cell update bindings.

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [June 20, 2025, 2:14am UTC](https://forum.inductiveautomation.com/t/populating-dataset/107602/5 "2025-06-20T02:14:44Z")

</div>

Cause they're a pain in the butt to setup? or other reasons? (I'm out of the loop with Vision these days...)

---

<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:** [June 20, 2025, 11:17am UTC](https://forum.inductiveautomation.com/t/populating-dataset/107602/6 "2025-06-20T11:17:50Z")

</div>

They are incompatible with dynamic dataset lengths. Which I pretty much always allow for in re-usable designs.

---

<div class="post-metadata">

**Author:** ![amarks](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/amarks/32/45610_2.png) [@amarks](https://forum.inductiveautomation.com/u/amarks)\
**Post date:** [June 23, 2025, 2:20pm UTC](https://forum.inductiveautomation.com/t/populating-dataset/107602/7 "2025-06-23T14:20:50Z")

</div>

I would just make a "row" template and use a template repeater. All bindings, no datasets, easy to expand and add write capability to any of the data points.

---

<div class="post-metadata">

**Author:** ![aaaa](https://avatars.discourse-cdn.com/v4/letter/a/eb8c5e/32.png) [@aaaa](https://forum.inductiveautomation.com/u/aaaa)\
**Post date:** [June 23, 2025, 5:12pm UTC](https://forum.inductiveautomation.com/t/populating-dataset/107602/8 "2025-06-23T17:12:05Z")

</div>

That's a good idea, but I'd want to sort based on one of the columns. Do you think that's possible with a template repeater?

---

<div class="post-metadata">

**Author:** ![pascal.fragnoud](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pascal.fragnoud/32/24728_2.png) [@pascal.fragnoud](https://forum.inductiveautomation.com/u/pascal.fragnoud)\
**Post date:** [June 23, 2025, 5:19pm UTC](https://forum.inductiveautomation.com/t/populating-dataset/107602/9 "2025-06-23T17:19:59Z")

</div>

A fixed sort, or should the user be able to change it ?  
Like selecting the column, reversing the order, etc ?

---

<div class="post-metadata">

**Author:** ![amarks](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/amarks/32/45610_2.png) [@amarks](https://forum.inductiveautomation.com/u/amarks)\
**Post date:** [June 23, 2025, 5:24pm UTC](https://forum.inductiveautomation.com/t/populating-dataset/107602/10 "2025-06-23T17:24:54Z")

</div>

That would be more difficult, but doable if your parameter to the template is the path to the UDT

---

<div class="post-metadata">

**Author:** ![aaaa](https://avatars.discourse-cdn.com/v4/letter/a/eb8c5e/32.png) [@aaaa](https://forum.inductiveautomation.com/u/aaaa)\
**Post date:** [June 23, 2025, 5:35pm UTC](https://forum.inductiveautomation.com/t/populating-dataset/107602/11 "2025-06-23T17:35:51Z")

</div>

It can be fixed. One string timestamp column.

---

<div class="post-metadata">

**Author:** ![amarks](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/amarks/32/45610_2.png) [@amarks](https://forum.inductiveautomation.com/u/amarks)\
**Post date:** [June 23, 2025, 7:04pm UTC](https://forum.inductiveautomation.com/t/populating-dataset/107602/12 "2025-06-23T19:04:11Z")

</div>

Then you could just have a script when the page opens to run through the UDT instance timestamps and put the path/index in the correct order for the template repeater. Exact implementation would depend on how the instances are named

---

<div class="post-metadata">

**Author:** ![pascal.fragnoud](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pascal.fragnoud/32/24728_2.png) [@pascal.fragnoud](https://forum.inductiveautomation.com/u/pascal.fragnoud)\
**Post date:** [June 23, 2025, 7:54pm UTC](https://forum.inductiveautomation.com/t/populating-dataset/107602/13 "2025-06-23T19:54:15Z")

</div>

What do you mean, "string timestamp" ?

Where does the data come from ? If it's a db, sort in the query.  
If it's a script, sort the data there.  
If you can't sort at the source, there's a `sortDataset` expression function

---

<div class="post-metadata">

**Author:** ![aaaa](https://avatars.discourse-cdn.com/v4/letter/a/eb8c5e/32.png) [@aaaa](https://forum.inductiveautomation.com/u/aaaa)\
**Post date:** [June 23, 2025, 8:09pm UTC](https://forum.inductiveautomation.com/t/populating-dataset/107602/14 "2025-06-23T20:09:29Z")

</div>

It's from OPCUA not db.
