CGD Definition
The custom grid display (CGD) is a type of display that allows users to design their own view. The CGD can consist of a single Cell or it can consist of multiple Layout Items and Cells and it can also contain nested CGDs, thus making it a powerful tool to customize views in HH DM.
The structure and appearance of the CGD can be configured using the CGD definition editor.
There are limitations in the conflict resolution when editing the CGD definition. Therefore, if two users are making changes at the same time, work can get overwritten for one of the users depending on the order that they press save. Therefore it is recommended that only one person is editing a definition at a time.
The CGD definition editor can be accessed from the Admin Ribbon Bar

Each CGD definition is linked to a definition. The first thing to do when creating or editing a CGD definition is to select the definition from the combobox on the ribbon bar:

A definition can have multiple CGD definitions. CGD definitions will be mostly used in Custom Views, but can also be used to customize the Run View. To customize the Run View the CGD needs to get set in the Backstage Options.
Once a custom property definition and CGD definition are selected the CGD designer view will be populated.

There are three areas on the screen:
- on the left is the designer area where the structure of the definition is actually edited
- in the center there is the properties/toolboxes area where items can be dragged from to the designer area to add to the designer, and also some areas to edit the configuration data for each element
- on the right is the preview area where an example of the current definition is shown
Unlike other parts of the software the user must click Save after making changes to the CGD to commit them to the database. This is done to make it easier to experiment without impacting other users. When Save is clicked and the changes are committed to the database the following things will happen:
- the preview will be updated
- any views that are open that use the current CGD definition will be updated with the latest changes
- the changes will be sent to the server and broadcast to all other users on the account, who will also have their open views updated with the latest changes
While experimenting with the designer it's sufficient to press the Refresh Preview button, which just refreshes the the preview without saving the changes into the database. Like this it can be avoided to update for example the setup CGD that is used in the Setups View, which other users might be working with. But in this case the users needs to remember to save the CGD once the design is done, otherwise the changes will be lost.
The values shown in the CGD in the preview area are populated based on the values in the Example Value of the definition parameters

Elements can be created primarily by dragging from the Layout Items or Cells toolbox area and dropping on to the designer area:

Elements can only be added to valid parents. The cursor gives feedback to the user while dragging, if the dragged item and the target item are compatible.
Not compatible:

Compatible and the dragged element would be inserted between the Table Control above and the Grid Splitter below the cursor:

Elements can be reordered by dragging them to a different location in the designer.
Holding the control key while you drag an existing element will create a copy of the element in the new location rather than moving the original element
The elements within the CGD are distinguished in two groups:
- Layout Items: A layout item doesn't display or visualize data itself, its only purpose is to arrange Cells within itself. Layout Items can be nested to create multiple layers. A layout item always needs to have one or more children. Some layout items support only one child and some support multiple children.
- Cells: A cell is the control that is used to display data and depending on the cell type, also to edit the data. Depending on the data type that should be displayed there are numerous cells available.
Layout Items
Many layout items require setting one or more paths. Those paths will be explained more in detail in the respective section, but there is also a common section about Expression Binding.
Border
A border is a layout item that supports a single child element and is used to visually separate or highlight content by drawing a border around it. The border can be customized in terms of thickness, color, and corner radius. This is useful for grouping related controls or emphasizing specific areas within a layout.
Favourites:
- Border Thickness: Sets the thickness of the border on each side. The thickness can be set using four values representing the thickness on the left, top, right, and bottom. If only one value is entered the value will apply to all four edges. If only two values are entered the first value will apply to the left and right edges and the seconds value will apply to the top and bottom edges.
- Corner Radius: Sets the radius for the border's corners, allowing for rounded edges.
- Style Options - Supported options: Background Colour/Foreground Colour. For further info see Style Settings.
Others:
Expander
An expander is a layout item that can show or hide its content. It is typically used to save space in the user interface by allowing users to expand or collapse sections as needed. The expander consists of a header and a content area that can contain other layout items or cells.
Favourites:
- Header: The text displayed in the header of the expander.
- Header Binding Path: Allows the header text to be dynamically set by binding to a value.
- Icon Name: Name of the icon displayed next to the header text.
- Icon Type: Defines the source of the icons. Custom icons can be managed by clicking the Custom Icons button in the ribbon.
- Style Options: Supported options: Background Colour/Foreground Colour. For further info see Style Settings.
Others:
- Control Properties
- Framework Element Properties
- String Format - Defines the format of the displayed text. For further info see Formatting Types.