EditorsRepositoryBase Class

Implements the basic functionality of the PersistentRepository component.

Namespace: DevExpress.XtraEditors.Repository

Assembly: DevExpress.XtraEditors.v20.1.dll

Declaration

public class EditorsRepositoryBase :
    Component,
    IEditorsRepository
Public Class EditorsRepositoryBase
    Inherits Component
    Implements IEditorsRepository

Remarks

The EditorsRepositoryBase class serves as the base for the PersistentRepository component which contains a collection of repository items that can be shared by different controls and components. The ancestor implements repository item collection management functionality providing the EditorsRepositoryBase.Items property for this purpose. The introduced EditorsRepositoryBase.CollectionChanged and EditorsRepositoryBase.PropertiesChanged events allow bound controls to respond to changes affecting the collection or individual items.

Examples

The following example shows how to share a single repository item between two Grid Controls. For this purpose, an external PersistentRepository component must be used.

First, add a specific repository item to the persistent repository and customize it depending upon your needs. Then link the persistent repository to the ExternalRepository properties of the required grid controls. After that, assign the repository item to the required grid columns via the ColumnEdit property.

In this example we create a repository item corresponding to an ImageComboBoxEdit editor.

using DevExpress.XtraEditors.Repository;

//Add a repository item corresponding to a combo box editor to the persistent repository
RepositoryItemComboBox riCombo = new RepositoryItemComboBox();
riCombo.Items.AddRange(new string[] {"Cash", "Visa", "Master", "Am.Express" });
persistentRepository1.Items.Add(riCombo);

//Link the persistent repository to two grid controls
gridControl1.ExternalRepository = persistentRepository1;
gridControl2.ExternalRepository = persistentRepository1;

//Now you can define the repository item as an inplace editor of columns for the two grids
(gridControl1.MainView as GridView).Columns["PaymentType"].ColumnEdit = riCombo;
(gridControl2.MainView as GridView).Columns["PaymentType"].ColumnEdit = riCombo;
See Also