You need something unique for the caption, so we can find the right component.
I just used a Guid, but use what you want.
I created a TransView dataview to hold a few fields.
I created a Form_Load event →
row-add
This is adding my initial row, and setting some title values.
This component is not registered for use with property set, so we need to use a little javascript to get at it via the trans object.
We will use a row-update field to store the component index in TransView.TitleIndex.
Code for
row-update (Notice we are searching for that Guid I made the initial caption…)
#_ (function () { return trans.epSharedService.epObjectManagerSvc._components.findIndex(c => c.title === "4b39645e-1e78-4b92-b7eb-556513dfa098" ); })(); _#
If you try to set the title too early, the page will overwrite it.
We need a delay, so we add a dashboard-timer-set and we will call another event from that Set-Title.
Set_Title event:
First, we clear the dashboard timer…
Then, I don’t know what happens if a timer is not set, so I did not use a success branch, just add the console-write in sequence. The console-write will update our title on demand.
code for
console-write
#_ (function () { trans.epSharedService.epObjectManagerSvc._components[{TransView.TitleIndex}].title = '{TransView.field1}|{TransView.field2}'; })(); _#
I also set up a column-changed event on the TransView fields field1 & field2:
So when those change, the title will update..
Notice on the main page, I added two textboxes. Those are bound to TransView.field1 and TransView.field2.
When those change, the title changes.

And…

Edit: Here is the app made in 2025.2.x
Ice.UIDbd.ChangeTitleTest.zip (2.8 KB)