Grooper Help - Version 25.0
25.0.0017 2,127
  • Overview
  • Help Status

Reflection List

Object List GrooperReview.Controls

Displays a list of objects showing all listable properties for the object type as columns.

Remarks

The Reflection List control presents a collection of objects in a tabular, interactive format within the Grooper web client. It uses .NET reflection to dynamically generate columns based on the properties of the objects in the list, allowing for flexible display of any object type. This control is ideal for scenarios where the structure of the data may vary or is not known at design time, such as configuration objects, metadata, or custom data models.

UI Components

  • Dynamic Results Table:
    • Displays each object as a row, with columns for each property marked as listable via the ListableAttribute.
    • Columns are generated at runtime, supporting custom names, widths, and alignment.
    • Supports both single and multi-selection for batch actions.
  • Column Headers:
    • Show property display names and tooltips, as defined by attributes and documentation.
    • Columns can be hidden or reordered based on configuration.
  • Row Attributes:
    • Each row can include custom data attributes based on specified property names.
    • Optionally includes a type name attribute for advanced scripting and filtering.
    • Visual cues for dirty or invalid objects, with tooltips for validation errors.
  • Icons:
    • Optionally displays icons for each row, using a delegate or property value.
    • Special support for Culture Data objects, displaying culture-specific icons.

Interactive Features

  • Selection Controls:
    • Click to select a row; use Ctrl + click for multi-select, Shift + click for range selection.
    • Supports batch operations on selected items.
  • Keyboard Navigation:
    • Up/Down: Move between rows.
    • Home/End: Jump to the first or last item.
    • Shift + Up/Down: Multi-select.
  • Customizable Columns and Attributes:
    • Columns are generated from object properties, supporting custom display names, widths, and alignment.
    • Additional row attributes can be added via delegates for integration with scripts and UI logic.
    • Hidden members can be excluded from the display.
  • Visual Feedback:
    • Dirty objects are highlighted if the HighlightDirty option is enabled.
    • Invalid objects are flagged if the FlagInvalid option is enabled, with tooltips for error details.

Usage Guidance

Use Reflection List to display and interact with collections of objects whose structure may vary or be determined at runtime. Configure which properties are shown using the ListableAttribute and control which attributes are added to each row. Leverage multi-select and keyboard shortcuts for efficient batch operations and navigation.

  • For configuration or metadata objects, use dynamic columns to show relevant properties.
  • Integrate with client-side scripts using custom row attributes and type information.
  • Use icons and tooltips to provide additional context and feedback for users.
  • Exclude sensitive or irrelevant properties using the hidden members configuration.

Example

// Example: Reflection List columns for a configuration object | Name | Value | Type | IsActive | |--------------|--------------|-----------|----------| | Timeout | 30 | Integer | True | | Culture | en-US | String | True |

Accessibility

  • Fully navigable by keyboard and mouse.
  • Screen reader support for row and column data.
  • Visual highlighting for selection, focus, dirty, and invalid states.

Derived Types

There are 3 implementations of Reflection List.

CMIS Object List Displays a list of CMIS Objects (i.e. folders and documents).
Instance List Displays a list of Data Instances with location attributes for anchor validation and review.
Principal List Displays a list of security principals (i.e. users or groups) in a tabular, interactive format for selection and management.

Used By

Notification