I've experimented with a couple of scenes where all text objects are created inside a script loop, and their values are populated through DataLinq. One fully working example was a scene that queries the Finnish Ice Hockey League API for a team's 21 player names and numbers and then builds the entire page dynamically.
This requires creating the necessary xpTextObject instances in the script using CreateObject(), attaching the corresponding xpDatalinq objects (also created in the script) to fetch the data, and then assigning those values to the text objects. The text elements can be positioned anywhere on the screen using functions like SetPosXYZ(), and further adjusted as needed.
So a fully dynamic layout is possible without predefined text elements. That said, it's certainly easier if the objects can be created and styled in the scene ahead of time, as in Simon's example, and then simply updated via script.
------------------------------
Juha Koivisto
Tampere
Finland
------------------------------
Original Message:
Sent: 03-06-2026 05:31
From: Simon Redmile
Subject: Xpression duplicate rows in table with datalinq increment
Hi Jakub, not exactly but put this script on a scene director.
This example would change Text1 through to Text10 datalinqs.
You can run the scene director whenever you want to update them.
If you give me your specific example I can help you write what you want.
dim text as xpTextObject
dim i as integer
for i = 1 to 10
scene.GetObjectByName("Text" & i, text)
text.Datalinq.Column = "MatchStatistic\TeamStatistic<" & i & ">"
next
------------------------------
Simon Redmile
Senior Graphic Programmer & Designer
Ross Video
Bristol United Kingdom
------------------------------