TcxEditRepositoryItem Class
The base class for all edit repository items.
Declaration
TcxEditRepositoryItem = class(
TComponent,
IdxScaleFactor
)
Remarks
An edit repository item is a non-visual component designed to define an editor and store its settings. All TcxEditRepositoryItem class descendants override the Properties property to store settings specific to corresponding editors.
- Edit Repository Items and Standalone Editors
- Edit Repository Items and Container Controls
- Main API Members
- Create a Repository Item at Design Time
- Code Example: Shared In-Place Editor Settings
- Custom Editors and Repository Items
- Terminal TcxEditRepositoryItem Class Descendants
- B — Bar Code/BLOB/Button Editors
- C — Calculator | Check Box | Combo Box | …
- D — Date & Time Editors
- F — Font Name Combo Box & Formatted Label
- H — Hyperlink Editor
- I — Image Combo Box & Image Editors
- L — Label
- L — Lookup Editors
- M — Mask/Memo/MRU Editors
- N — Numeric Wheel Picker Editor
- P — Pop-Up Editor & Progress Bar
- R — Radio Group | Range Track Bar | RTF Editor | …
- S — Sparkline & Spin Editors
- T — Text Editor | Time Editor | Toggle Switch | …
Edit Repository Items and Standalone Editors
Edit repository items are useful when you need to share the same settings between multiple editors of the same type. To accomplish this goal, you can assign the same edit repository item to RepositoryItem properties of all target editors.
Edit Repository Items and Container Controls
A container control item (such as a toolbar edit item or a column (or any other data item) in a Data Grid, Vertical Grid, or Tree List control) can embed an in-place editor shipped with the ExpressEditors Library. An in-place editor exists (and, therefore, has its own WinAPI handle) only when the target container control item is being edited. Otherwise, the container control item displays a static editor image for resource usage optimization.

Main API Members
The list below outlines key members of the TcxEditRepositoryItem class. These members allow you to configure repository items.
- GetBaseName
- Generates the base part of the repository item name. You can override this function in custom descendants of the
TcxEditRepositoryItemclass to define a custom repository item name. - GetEditPropertiesClass
- Returns the type of stored editor settings. Override this method in a
TcxEditRepositoryItemclass descendant to create and register a repository item component for a custom editor (a TcxCustomEdit class descendant). - Name
- Specifies the repository item name.
- Properties
- Allows you to customize stored editor settings. Override this property in a
TcxEditRepositoryItemclass descendant to implement type-specific settings of a custom editor derived from the TcxCustomEdit class. - Repository
- Provides access to the repository component to which the current repository item belongs.
Create a Repository Item at Design Time
To create a repository item at design time, double-click an edit repository component to display its collection editor.

The collection editor dialog allows you to manage repository items. Click the Add… button to display a repository item creation dialog.

Select any item type and click the Ok button to create a repository item.
Code Example: Shared In-Place Editor Settings
The following code example creates two unbound Table View columns in a Data Grid control and uses a memo repository item to assign an in-place memo editor to them:
uses cxEdit, cxEditRepositoryItems;
// ...
var
AColumn1, AColumn2: TcxGridColumn;
ARepositoryItem: TcxEditRepositoryMemoItem;
begin
AColumn1 := cxGrid1TableView1.CreateColumn; // Creates a new unbound column
AColumn2 := cxGrid1TableView1.CreateColumn; // Creates another unbound column
// Creates a repository item that defines a memo editor and stores its settings
ARepositoryItem := cxEditRepository1.CreateItem(TcxEditRepositoryMemoItem) as TcxEditRepositoryMemoItem;
ARepositoryItem.Properties.ScrollBars := ssVertical; // Enables a vertical scroll bar
ARepositoryItem.Properties.VisibleLineCount := 8; // Limits the number of simultaneously visible lines
// Assigns the created repository item to both new columns
AColumn1.RepositoryItem := ARepositoryItem;
AColumn2.RepositoryItem := ARepositoryItem;
end;
Custom Editors and Repository Items
To store, share, and manage settings of custom TcxCustomEdit descendants in a TcxEditRepository component, you need to derive a custom descendant from the TcxEditRepositoryItem class and override the following API members:
- GetEditPropertiesClass
- Returns the type of stored editor settings. Override this method in a
TcxEditRepositoryItemclass descendant to create and register a repository item component for a custom editor (a TcxCustomEdit class descendant). - Properties
- Allows you to customize stored editor settings. Override this property in a
TcxEditRepositoryItemclass descendant to implement type-specific settings of a custom editor derived from the TcxCustomEdit class. - GetBaseName
- Optional. Generates the base part of the repository item name. You can override this function in custom descendants of the
TcxEditRepositoryItemclass to define a custom repository item name.
Terminal TcxEditRepositoryItem Class Descendants
Every repository item type defines the corresponding in-place editor type and stores editor settings. You can access and modify these settings using the TcxEditRepositoryItem.Properties property.
The following table lists all available edit repository item types (terminal TcxEditRepositoryItem class descendants) and corresponding in-place editor classes:
B — Bar Code/BLOB/Button Editors
| Repository Item Class | In-Place Editor | Description |
|---|---|---|
| TcxEditRepositoryBarCodeItem | TdxBarCode | A barcode control without user input functionality. |
| TcxEditRepositoryBlobItem | TcxBlobEdit | A Binary Large Object (BLOB) editor. |
| TcxEditRepositoryButtonItem | TcxButtonEdit | A single-line text editor with embedded buttons. |
C — Calculator | Check Box | Combo Box | …
| Repository Item Class | In-Place Editor | Description |
|---|---|---|
| TcxEditRepositoryCalcItem | TcxCalcEdit | A single-line editor with a drop-down calculator window. |
| TcxEditRepositoryCheckBoxItem | TcxCheckBox | A check box editor with support for three states. |
| TcxEditRepositoryCheckComboBox | TcxCheckComboBox | A combo box editor that can display items with check boxes. |
| TcxEditRepositoryCheckGroupItem | TcxCheckGroup | An editor designed to display a set of check boxes. |
| TcxEditRepositoryColorComboBox | TcxColorComboBox | A color combo box editor. |
| TcxEditRepositoryColorEdit | TdxColorEdit | An editor designed to select a color in a color gallery embedded into a drop-down window. |
| TcxEditRepositoryComboBoxItem | TcxComboBox | A general-purpose combo box editor. |
| TcxEditRepositoryCurrencyItem | TcxCurrencyEdit | A numeric editor for currency values. |
D — Date & Time Editors
| Repository Item Class | In-Place Editor | Description |
|---|---|---|
| TcxEditRepositoryDateItem | TcxDateEdit | A date editor with a drop-down calendar. |
| TcxEditRepositoryDateTimeWheelPickerItem | TdxDateTimeWheelPicker | A date/time wheel picker editor. |
F — Font Name Combo Box & Formatted Label
| Repository Item Class | In-Place Editor | Description |
|---|---|---|
| TcxEditRepositoryFontNameComboBox | TcxFontNameComboBox | A combo box that allows users to switch between font typefaces. |
| TcxEditRepositoryFormattedLabel | TdxFormattedLabel | A formatted label without user input functionality. |
H — Hyperlink Editor
| Repository Item Class | In-Place Editor | Description |
|---|---|---|
| TcxEditRepositoryHyperLinkItem | TcxHyperLinkEdit | A hyperlink editor that can execute custom commands. |
I — Image Combo Box & Image Editors
| Repository Item Class | In-Place Editor | Description |
|---|---|---|
| TcxEditRepositoryImageComboBoxItem | TcxImageComboBox | A combo box designed to display both text and images in items. |
| TcxEditRepositoryImageItem | TcxImage | An editor designed to display and edit images. |
L — Label
| Repository Item Class | In-Place Editor | Description |
|---|---|---|
| TcxEditRepositoryLabel | TcxLabel | An unformatted label without user input functionality. |
L — Lookup Editors
Warning
Do not use repository items to share settings between multiple lookup editors because these settings include data binding options.
A repository item shared between multiple lookup editors binds them to the same dataset. This scenario may lead to data update and synchronization issues that are difficult to detect and identify.
| Repository Item Class | In-Place Editor | Description |
|---|---|---|
| TcxEditRepositoryExtLookupComboBoxItem | TcxExtLookupComboBox | A lookup editor that displays a Data Grid View in a drop-down window. |
| TcxEditRepositoryLookupComboBoxItem | TcxLookupComboBox | A lookup combo box populated with values from a data source. |
| TcxEditRepositoryLookupSparklineItem | TdxLookupSparklineEdit | A lookup sparkline editor. |
M — Mask/Memo/MRU Editors
| Repository Item Class | In-Place Editor | Description |
|---|---|---|
| TcxEditRepositoryMaskItem | TcxMaskEdit | A single-line text editor with support for input masks. |
| TcxEditRepositoryMemoItem | TcxMemo | A multi-line editor for plain text. |
| TcxEditRepositoryMRUItem | TcxMRUEdit | A single-line text editor that displays a list of most recently used (MRU) items in a drop-down window. |
N — Numeric Wheel Picker Editor
| Repository Item Class | In-Place Editor | Description |
|---|---|---|
| TcxEditRepositoryNumericWheelPickerItem | TdxNumericWheelPicker | A numeric value wheel picker editor. |
P — Pop-Up Editor & Progress Bar
| Repository Item Class | In-Place Editor | Description |
|---|---|---|
| TcxEditRepositoryPopupItem | TcxPopupEdit | A text editor that can embed a control in a pop-up window. |
| TcxEditRepositoryProgressBar | TcxProgressBar | A progress bar without user input functionality. |
R — Radio Group | Range Track Bar | RTF Editor | …
| Repository Item Class | In-Place Editor | Description |
|---|---|---|
| TcxEditRepositoryRadioGroupItem | TcxRadioGroup | A container for radio buttons. |
| TcxEditRepositoryRangeTrackBar | TdxRangeTrackBar | A track bar editor with two sliders designed to select a range of values. |
| TcxEditRepositoryRatingControl | TdxRatingControl | A rating editor. |
| TcxEditRepositoryRichItem | TcxRichEdit | A multi-line rich text editor. |
S — Sparkline & Spin Editors
| Repository Item Class | In-Place Editor | Description |
|---|---|---|
| TcxEditRepositorySparklineItem | TdxSparklineEdit | An editor designed to visualize data as lightweight charts without axes and labels. |
| TcxEditRepositorySpinItem | TcxSpinEdit | A general-purpose numeric spin editor. |
T — Text Editor | Time Editor | Toggle Switch | …
| Repository Item Class | In-Place Editor | Description |
|---|---|---|
| TcxEditRepositoryTextItem | TcxTextEdit | A simple single-line text editor. |
| TcxEditRepositoryTimeItem | TcxTimeEdit | A spin editor for time values. |
| TcxEditRepositoryToggleSwitchItem | TdxToggleSwitch | A toggle switch editor. |
| TcxEditRepositoryTokenItem | TdxTokenEdit | A token editor. |
| TcxEditRepositoryTrackBar | TcxTrackBar | A track bar editor with two sliders for value range selection. |