[EDGE] Use memory dataset tags cells in labels throught indirect binding

It’s possible to use a label indirect tag binding to show data from a memory dataset tag?

I have simple dataset with on string column and want to retrieve this strings by line position in a Label component.

Doing this direct from tag binding gives the following error:

IOException: com.google.common.collect.ComputationException: com.inductiveautomation.ignition.common.sqltags.parser.TagPathFormatException: Illegal character ‘[’ (Line 1 , Char 8)
caused by ComputationException: com.inductiveautomation.ignition.common.sqltags.parser.TagPathFormatException: Illegal character ‘[’ (Line 1 , Char 8)
caused by TagPathFormatException: Illegal character ‘[’ (Line 1 , Char 8)

Ignition v7.9.3 (b2017060210)
Java: Oracle Corporation 1.8.0_111

Use syntax something like this:
toDataset(tag("Static Text" + {Property Reference}))[row, col]
Which assembled should look like this in a ‘real’ binding:
toDataset(tag("Motors/Motor " + {Root Container.Motor Index} + "/States"))[0, 0]

The toDataset function is not always needed, but the result object from the tag() function doesn’t always accept the dataset row/col addressing, so you need to force it into a dataset object.

3 Likes

Works like a charm.

Thank You.