ETS 3 allows you to select the columns that can be seen in a list view from a predefined list (right-click on the title row and select the “Columns” menu item).
This article describes how you can create additional user-defined columns yourself.
All column settings are stored in the current workspace. So you can always use Workspace » Reset to reload the default settings. For experiments, it makes sense to first switch to your own workspace with Workspace » Save As and configure it to your heart’s content.
In order to activate the following functions in the ETS, you must first do the following:
- Download this file and unzip it to any directory.
- Double-click to import the included AdvanceUIAccessible.reg file.
If you now open the column settings of an ETS list view (right-click on the title row and select “Columns”), you will find a new “Advanced” button there that will take you to the advanced column dialog.
Create a new column
To create a new column:
- Click New.
- In Heading, enter an appropriate column name.
Unfortunately, ETS 3.0c has a bug here: the column name is not adopted. This bug has been fixed in ETS 3.0d.
- Under Content, enter what you want to display there (see below).
- If you want the column to be editable directly in the list, check the “Edit on site” box. Of course, this only works if the information displayed can also be changed.
What can you enter in content?
In the combo box you will already find a list of properties of the displayed ETS objects that may come into question. It goes far too far to describe each of these properties (there are well over 1000!). Only the most interesting properties of the device object are listed here as examples. Properties that are themselves objects (with their own properties) are shown in italics, only readable properties are shown in gray.
|$(IndividualAddress)||Complete phys. Address|
|$(IndividualAddressText)||Complete phys. Address, nicely formatted as text.|
|$(VisibleDeviceCommunicationObjects)||Collection of all visible communication objects|
|$(DeviceParameters)||Collection of all device parameters|
|$(LastModified)||Date/time of last modification|
|$(LastDownload)||Date/time of the last download|
|$(IndividualAddressLoaded)||Programming state “Adr”|
|$(ApplicationProgramLoaded)||Programming state “Prg”|
|$(ParametersLoaded)||Programming state “Par”|
|$(CommunicationPartLoaded)||Programming state “Grp”|
|$(MediumConfigLoaded)||Programming state “cfg”|
|$(RoomName)||room name; Abbreviation for $(ProjectParts(“Room”). Name)|
|$(FunctionName)||name of the trade; Abbreviation for $(ProjectParts(“Function”). Name)|
|$(ManufacturerName)||Manufacturer; Abbreviation for $(CatalogEntry.Manufacturer.Name)|
|$(ProductName)||Product; Abbreviation for $(CatalogEntry.Name)|
|$(OrderNumber)||Order number; Abbreviation for $(CatalogEntry.OrderNumber)|
|$(ProgramName)||name of the application program; Abbreviation for $(ApplicationProgram.Name)|
If the property itself is an object, its properties can of course also be accessed, a dot must be placed between the object name and the property name, e.g. $(ApplicationProgram.Description) or $(VisibleDeviceCommunicationObjects.Count).
For numeric and date/time properties, it is still possible to specify how they should be converted to text. For this purpose, a corresponding format specification with a comma is appended to the property name, e.g. $(IndividualAddress,Hexadecimal4) to format the phys. Address as a 4-digit hexadecimal number. The following format specifications are available, among others:
Hexadecimaln ( n is a number)
|Formats an integer in hexadecimal; if n is specified, the result on the left is supplemented with zeros up to this length.|
Boolean(false/true) ( false and true are texts, e.g. “Boolean(-/S)”)
|Formats a logical value by outputting one of two texts (or “No”/”Yes” if no texts are specified).|
|eteC.LineAddress||Formats an integer as a line address “area.line”.|
|eteC.IndividualAddress||Formats an integer as phys. Address “area.line.tln”.|
|eteC.GroupAddress2||Formats an integer as a two-level group address “main/under”.|
|eteC.GroupAddress3||Formats an integer as a three-level group address “main/middle/under”.|
|eteC.MiddleGroupAddress||Formats an integer as the middle group address “main/medium”|
|eteC.GroupAddress||Formats an integer as a two- or three-level group address, depending on the setting in the ETS|
|eteC.ApplicationProgramVersion||Formats an integer as an application program version|
The complete content of a column can be combined from constant texts and any number of object properties. For example, the default column “Programming State” is defined as follows: