Skip to content

Display Builder Table Compatibility

Kay Kasemir edited this page Oct 13, 2021 · 4 revisions

The Table widget is somewhat different from all other widgets because simply connecting it to a PV is rarely sufficient. Channel Access does not provide any table-type data. PV Access offers an NTTable type of PV, but it is at this time not in common use by IOCs. To create an NTTable, you need to create a custom PVAccess server, for example in python.

The primary use case of the table widget is thus based on a script to populate the widget. For example, a script can read a text file, read from a web service, or read from several PVs and then format that data as an array (list of rows, each row a list of cell strings) for display in the table. A script maybe also read the content of the widget and then write the data to PVs.

For key API, check the display builder examples and the TableWidget javadoc included in the online help.

Some differences from the BOY version:

BOY Display Builder
table = widget.getTable() widget
table.setColumnHeaders() widget.setHeaders(list of headers)
table.setContent() widget.setValue(list of rows)
table.setCellText(..) widget.setCellValue(row, col, text)
table.setCellBackground(..) widget.setCellColor(row, col, WidgetColor)
table.getContent() widget.getValue()