Skip to main content

PersistentRepository Class

Stores repository items to be shared between container controls and components (GridControl, TreeList, RibbonControl, BarManager, etc).

Namespace: DevExpress.XtraEditors.Repository

Assembly: DevExpress.XtraEditors.v25.1.dll

NuGet Package: DevExpress.Win.Navigation

Declaration

public class PersistentRepository :
    EditorsRepositoryBase

The following members return PersistentRepository objects:

Remarks

The PersistentRepository class allows you to store repository items and reuse them across container controls.

Repository items added to a container control’s internal collection (for example, EditorContainer.RepositoryItems) cannot be reused. To use one repository item in multiple controls, do the following:

  1. Declare a PersistentRepository object.
  2. Create a repository item and add it to the PersistentRepository.Items collection.
  3. Assign the PersistentRepository object to a container control’s ExternalRepository property.
  4. Use the container control’s internal mechanisms to bind the repository item to a visual element.

Example

The following example uses a PersistentRepository to reuse a single repository item in a Data Grid and a Tree List.

using DevExpress.XtraEditors;
using DevExpress.XtraEditors.Repository;

public partial class Form1 : XtraForm {
    public Form1() {
        InitializeComponent();
        // Create a persistent repository
        PersistentRepository rep = new PersistentRepository();

        //Add a repository item to the persistent repository
        RepositoryItemSpinEdit spin = new RepositoryItemSpinEdit();
        rep.Items.Add(spin);

        //Link the persistent repository to controls
        gridControl1.ExternalRepository = rep;
        treeList1.ExternalRepository = rep;

        // Assign the repository item to columns
        gridView1.Columns["Id"].ColumnEdit = spin;
        treeList1.Columns["Id"].ColumnEdit = spin;
    }
}

Inheritance

Object
MarshalByRefObject
Component
DevExpress.XtraEditors.ComponentBase
EditorsRepositoryBase
PersistentRepository
See Also