Skip to main content
A newer version of this page is available. .

DataNavigator Class

The control that enables navigation through records in a data source and provides common record operations.

Namespace: DevExpress.XtraEditors

Assembly: DevExpress.XtraEditors.v19.1.dll


[SmartTagAction(typeof(DataNavigatorButtonsActions), "CustomButtons", "Custom Buttons", SmartTagActionType.CloseAfterExecute)]
[ToolboxBitmap(typeof(ToolboxIconsRootNS), "DataNavigator")]
public class DataNavigator :


The DataNavigator control is used to navigate through records in a data source and perform operations against the data. It is derived from the NavigatorBase class, and so it inherits properties and methods common to all data navigation controls.


The data navigator displays built-in buttons that enable a user to scroll forward or backward through records one at a time, go to the first record, go to the last record, insert a new record, post data changes, cancel data changes and delete a record. You can also add custom buttons, when required. To access built-in and custom buttons, use the DataNavigator.Buttons property. To perform custom actions on button clicks, handle the NavigatorBase.ButtonClick event.

The DataNavigator control needs to be associated with a data source in order to receive and manipulate data. Use the DataNavigator.DataSource and DataNavigator.DataMember properties for binding.

The DataNavigator can display a text string that specifies the current record and the total record count in the associated data source. Use the NavigatorBase.TextLocation and NavigatorBase.TextStringFormat to customize the display of this text.


See this GitHub example for a sample application where the Data Navigator is bound to a data source simultaneously used by the GridControl and multiple editors.

Data Navigator - Bind to a Shared Source


The following code shows how to create a new DataNavigator control, bind it to a data source and specify custom images for the control’s buttons at runtime. The custom images are stored in an ImageCollection object.

DataNavigator ctor

using DevExpress.XtraEditors;

private void CreateDataNavigator() {
    // Create a new DataNavigator control
    DataNavigator dataNavigator = new DataNavigator();
    dataNavigator.Height = 40;
    dataNavigator.Dock = DockStyle.Bottom;
    // Bind to a data source
    dataNavigator.DataSource = productsBindingSource;
    // Specify the ImageCollection that stores custom images for the DataNavigator's buttons
    dataNavigator.Buttons.ImageList = imageCollection1;
    for (int i = 0; i < dataNavigator.Buttons.ButtonCollection.Count; i++) {
        dataNavigator.Buttons.ButtonCollection[i].ImageIndex = i;
    dataNavigator.ShowToolTips = true;
See Also