Table Properties
The IliTable class supports annotating parts of a table with properties. In contrast to the primary content of the table (the table's rows), the properties are not constrained by the table schema.
A property has a name (an IlSymbol* object) and a value (an IliValue object).
The parts of an IliTable object that can have properties are:
-
The whole table
-
Any column
-
Any row
-
Any cell
Each part can have any number of properties attached to it as long as the property names are unique for each part. Two different parts (two cells or a cell and a row) can have properties with the same name.
The IliTable class does not manage properties itself, instead it delegates property management to the IliTablePropertyManager class.
An IliTable object has a default property manager, but it can manage additional property managers if needed. The requirement that a given part of a table cannot have two properties with the same name applies to each property-manager. Among different property managers, a given IliTable part can have properties with the same name, one for each property manager.