# Getting data into a flex repeater

**URL:** <https://forum.inductiveautomation.com/t/getting-data-into-a-flex-repeater/111634>\
**Category:** Ignition\
**Tags:** ignition81, vision, perspective\
**Created:** [October 21, 2025, 10:18pm UTC](https://forum.inductiveautomation.com/t/getting-data-into-a-flex-repeater/111634 "2025-10-21T22:18:04Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![ingraham](https://avatars.discourse-cdn.com/v4/letter/i/3ab097/32.png) [@ingraham](https://forum.inductiveautomation.com/u/ingraham)\
**Post date:** [October 21, 2025, 10:18pm UTC](https://forum.inductiveautomation.com/t/getting-data-into-a-flex-repeater/111634/1 "2025-10-21T22:18:04Z")

</div>

Hi all. I’m a confused about how to use a flex repeater to show dynamic data. Let’s say I have 10 rows in a database, and I always have those same 10 rows. Much of the data is static. I can use parameters to pass those into a view in the flex repeater. But there is also data that is dynamic. For example, there’s a quantity field, and the quantity changes fairly frequently, e.g. at least one row updates every second or so. A template repeater in Vision had an update rate, but Perspective only seems to update when refreshed. I can’t figure out how to continuously update the view in the repeater. The only thing I could think of was to create a query tag and use the index in the repeater to point to a location in the dataset of the query tag. But I ran into problems there, too, because I have different screens that would need point to different tags, so I ran into things like toBoolean(lookup({[default]MyQueryTag1},{view.param.Row}, 0, ”MyColumn”, ”IsFull”)), but I need to replace “MyQueryTag1” with a “MyQueryTag{X}”, where I’m not even sure how I’m going to get “X” in there, and I definitely don’t see how to make that tag indirect inside this expression. (If I don’t need an expression, I can use indirect tags, but I’m still not sure where to get “X” from. It’s known on the View that has the repeater, and I suppose I could pass it as a parameter to every instance.) Long story short, how do I have dynamic data for the instances in a flex repeater where the data is coming from a database table? Any help is greatly appreciated.

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [October 21, 2025, 10:46pm UTC](https://forum.inductiveautomation.com/t/getting-data-into-a-flex-repeater/111634/2 "2025-10-21T22:46:37Z")

</div>

Is there any chance you can edit your post to introduce paragraph breaks to break up the wall of text and format code blocks as shown in [Wiki - how to post code on this forum](https://forum.inductiveautomation.com/t/wiki-how-to-post-code-on-this-forum/77831)?

---

<div class="post-metadata">

**Author:** ![David\_Stone](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/david_stone/32/79749_2.png) [@David\_Stone](https://forum.inductiveautomation.com/u/David_Stone)\
**Post date:** [October 22, 2025, 7:39am UTC](https://forum.inductiveautomation.com/t/getting-data-into-a-flex-repeater/111634/4 "2025-10-22T07:39:43Z")

</div>

You use an SQL query binding on the root data type of the ‘instances’ and use a script transform to make the returned data form the correct structure in json to produce the right number and composition of instances.

---

<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:** [October 22, 2025, 10:07am UTC](https://forum.inductiveautomation.com/t/getting-data-into-a-flex-repeater/111634/5 "2025-10-22T10:07:00Z")

</div>

Query bindings have a `Polling` parameter, which should do pretty much what he asks for.

---

<div class="post-metadata">

**Author:** ![ingraham](https://avatars.discourse-cdn.com/v4/letter/i/3ab097/32.png) [@ingraham](https://forum.inductiveautomation.com/u/ingraham)\
**Post date:** [October 22, 2025, 2:47pm UTC](https://forum.inductiveautomation.com/t/getting-data-into-a-flex-repeater/111634/6 "2025-10-22T14:47:19Z")

</div>

Sorry about that.

---

<div class="post-metadata">

**Author:** ![ingraham](https://avatars.discourse-cdn.com/v4/letter/i/3ab097/32.png) [@ingraham](https://forum.inductiveautomation.com/u/ingraham)\
**Post date:** [October 22, 2025, 2:54pm UTC](https://forum.inductiveautomation.com/t/getting-data-into-a-flex-repeater/111634/7 "2025-10-22T14:54:53Z")

</div>

Someone pointed out that query bindings have a “Polling” option, which I completely missed, and is equivalent to the update rate in a Vision template repeater. So problem solved. But somehow I can no longer see that reply so I can’t accept it as the solution. I feel dumb that I didn’t see it; it’s grayed out until you check it, and it’s near the bottom of the section, so I just overlooked it.

---

<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:** [October 22, 2025, 3:08pm UTC](https://forum.inductiveautomation.com/t/getting-data-into-a-flex-repeater/111634/8 "2025-10-22T15:08:27Z")

</div>

I'm the one who posted that, and I can't find that reply either.  
Something weird happened...

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [October 22, 2025, 4:19pm UTC](https://forum.inductiveautomation.com/t/getting-data-into-a-flex-repeater/111634/9 "2025-10-22T16:19:22Z")

</div>

Your direct reply got deleted by the forum software automatically when a mod deleted the original post.

---

<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:** [October 23, 2025, 5:41am UTC](https://forum.inductiveautomation.com/t/getting-data-into-a-flex-repeater/111634/10 "2025-10-23T05:41:48Z")

</div>

`on delete cascade` 😛  
I figured it would be something like that, but that sounds like a bug to me.

---

<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:** [October 23, 2025, 5:51am UTC](https://forum.inductiveautomation.com/t/getting-data-into-a-flex-repeater/111634/11 "2025-10-23T05:51:40Z")

</div>

Note that only query bindings have that parameter (I think ?).  
If you need a polling rate on a script binding, you can call that script in a `runScript` expression, which also takes a poll rate (which can be set to 0 to run the script just once, and when its parameters change)

You could also have a ‘timer’ custom property with an expression binding that runs `now(x)` with `x` being your poll rate in ms. This will make the property update to the current time every x ms.  
You can then use that property as the source of another binding, or put a change script on it to execute things on a fixed interval.
