4.7.4.2. Categorized Entities
If an entity implements com.haulmont.cuba.core.entity.Categorized
interface, you can use com.haulmont.cuba.gui.components.RuntimePropertiesFrame
component for displaying dynamic attributes of this entity. This component allows a user to select a category for the particular entity instance and specify values of dynamic attributes of this category.
In order to use the RuntimePropertiesFrame
component in an edit screen, do the following:
-
Two datasources should be declared in the
dsContext
section:-
runtimePropsDatasource
- a specific datasource to load theCategoryAttributeValue
instances. ThemainDs
attribute must refer to the main datasource, which contains the edited entity. -
A regular
collectionDatasource
to load the list of categories of this entity type.
Example:
<dsContext> <datasource id="carDs" class="com.company.sample.entity.Car" view="carEdit"/> <runtimePropsDatasource id="runtimePropsDs" mainDs="carDs"/> <collectionDatasource id="categories" class="com.haulmont.cuba.core.entity.Category" view="_local"> <query> select c from sys$Category c where c.entityType='sample$Car' </query> </collectionDatasource> </dsContext>
-
-
Now, the
runtimeProperties
visual component may be included in the XML-descriptor of the screen:<runtimeProperties id="runtimePropsFrame" runtimeDs="runtimePropsDs" categoriesDs="categories"/>