Log In
Home
Support
Demos
Documentation
Blogs
Training
Webinars
[Expand]General Information
[Collapse]WinForms Controls
  Prerequisites
 [Expand]What's Installed
 [Expand]Build an Application
 [Expand]Controls and Libraries
 [Expand]Common Features
  Get More Help
 [Collapse]API Reference
  [Expand]DevExpress.DataAccess.UI.Design
  [Expand]DevExpress.DataAccess.UI.EntityFramework
  [Expand]DevExpress.DataAccess.UI.Excel
  [Expand]DevExpress.DataAccess.UI.Localization
  [Expand]DevExpress.DataAccess.UI.ObjectBinding
  [Expand]DevExpress.DataAccess.UI.Sql
  [Expand]DevExpress.DataAccess.UI.Wizard
  [Expand]DevExpress.DataAccess.UI.Wizard.Services
  [Expand]DevExpress.DataAccess.UI.Wizard.Views
  [Expand]DevExpress.DocumentView
  [Expand]DevExpress.DocumentView.Controls
  [Expand]DevExpress.LookAndFeel
  [Expand]DevExpress.LookAndFeel.Helpers
  [Expand]DevExpress.Skins
  [Expand]DevExpress.Snap
  [Expand]DevExpress.Snap.API.Native
  [Expand]DevExpress.Snap.Core
  [Expand]DevExpress.Snap.Core.API
  [Expand]DevExpress.Snap.Core.Fields
  [Expand]DevExpress.Snap.Core.Forms
  [Expand]DevExpress.Snap.Core.Options
  [Expand]DevExpress.Snap.Core.Services
  [Expand]DevExpress.Snap.Extensions
  [Expand]DevExpress.Snap.Extensions.Localization
  [Expand]DevExpress.Snap.Extensions.UI
  [Expand]DevExpress.Snap.Localization
  [Expand]DevExpress.Snap.Options
  [Expand]DevExpress.Snap.Services
  [Expand]DevExpress.Utils
  [Expand]DevExpress.Utils.Animation
  [Expand]DevExpress.Utils.Controls
  [Expand]DevExpress.Utils.Drawing
  [Expand]DevExpress.Utils.Menu
  [Expand]DevExpress.Utils.Taskbar
  [Expand]DevExpress.Utils.Taskbar.Core
  [Expand]DevExpress.Utils.UI.Localization
  [Expand]DevExpress.Utils.VisualEffects
  [Expand]DevExpress.Utils.Win
  [Expand]DevExpress.XtraBars
  [Expand]DevExpress.XtraBars.Alerter
  [Expand]DevExpress.XtraBars.Docking
  [Expand]DevExpress.XtraBars.Docking2010
  [Expand]DevExpress.XtraBars.Docking2010.Customization
  [Expand]DevExpress.XtraBars.Docking2010.Views
  [Expand]DevExpress.XtraBars.Docking2010.Views.NativeMdi
  [Expand]DevExpress.XtraBars.Docking2010.Views.Tabbed
  [Expand]DevExpress.XtraBars.Docking2010.Views.Widget
  [Expand]DevExpress.XtraBars.Docking2010.Views.WindowsUI
  [Expand]DevExpress.XtraBars.Localization
  [Expand]DevExpress.XtraBars.Navigation
  [Expand]DevExpress.XtraBars.Ribbon
  [Expand]DevExpress.XtraBars.Ribbon.Gallery
  [Expand]DevExpress.XtraBars.Ribbon.ViewInfo
  [Expand]DevExpress.XtraBars.ToastNotifications
  [Expand]DevExpress.XtraBars.Utils
  [Expand]DevExpress.XtraBars.WinRTLiveTiles
  [Expand]DevExpress.XtraCharts
  [Expand]DevExpress.XtraCharts.Designer
  [Expand]DevExpress.XtraCharts.Wizard
  [Expand]DevExpress.XtraDataLayout
  [Expand]DevExpress.XtraDiagram
  [Expand]DevExpress.XtraDiagram.Options
  [Expand]DevExpress.XtraEditors
  [Expand]DevExpress.XtraEditors.ButtonPanel
  [Expand]DevExpress.XtraEditors.Calendar
  [Expand]DevExpress.XtraEditors.Camera
  [Expand]DevExpress.XtraEditors.Container
  [Expand]DevExpress.XtraEditors.Controls
  [Expand]DevExpress.XtraEditors.CustomEditor
  [Expand]DevExpress.XtraEditors.DXErrorProvider
  [Expand]DevExpress.XtraEditors.Filtering
  [Expand]DevExpress.XtraEditors.Mask
  [Expand]DevExpress.XtraEditors.Persistent
  [Expand]DevExpress.XtraEditors.Repository
  [Expand]DevExpress.XtraEditors.ViewInfo
  [Expand]DevExpress.XtraFilterEditor
  [Expand]DevExpress.XtraGauges.Presets.Styles
  [Expand]DevExpress.XtraGauges.Win
  [Expand]DevExpress.XtraGauges.Win.Base
  [Expand]DevExpress.XtraGauges.Win.Gauges.Circular
  [Expand]DevExpress.XtraGauges.Win.Gauges.Digital
  [Expand]DevExpress.XtraGauges.Win.Gauges.Linear
  [Expand]DevExpress.XtraGauges.Win.Gauges.State
  [Expand]DevExpress.XtraGrid
  [Expand]DevExpress.XtraGrid.Columns
  [Expand]DevExpress.XtraGrid.EditForm
  [Expand]DevExpress.XtraGrid.FilterEditor
  [Expand]DevExpress.XtraGrid.Localization
  [Expand]DevExpress.XtraGrid.Views.BandedGrid
  [Expand]DevExpress.XtraGrid.Views.BandedGrid.ViewInfo
  [Collapse]DevExpress.XtraGrid.Views.Base
   [Expand]BaseView Class
   [Expand]BaseViewAppearanceCollection Class
   [Expand]CellValueChangedEventArgs Class
    CellValueChangedEventHandler Delegate
   [Expand]ColumnEventArgs Class
    ColumnEventHandler Delegate
   [Collapse]ColumnView Class
     ColumnView Members
     ColumnView Constructor
    [Expand]ColumnView Properties
    [Collapse]ColumnView Events
      AsyncCompleted Event
      BeforeLeaveRow Event
      CellValueChanged Event
      CellValueChanging Event
      ColumnChanged Event
      ColumnFilterChanged Event
      ColumnPositionChanged Event
      ColumnUnboundExpressionChanged Event
      CustomColumnDisplayText Event
      CustomColumnSort Event
      CustomDrawEmptyForeground Event
      CustomDrawFilterPanel Event
      CustomFilterDialog Event
      CustomFilterDisplayText Event
      CustomRowFilter Event
      CustomUnboundColumnData Event
      DataManagerReset Event
      EndGrouping Event
      EndSorting Event
      FilterEditorCreated Event
      FilterPopupExcelCustomizeTemplate Event
      FilterPopupExcelData Event
      FilterPopupExcelPrepareTemplate Event
      FilterPopupExcelQueryFilterCriteria Event
      FocusedColumnChanged Event
      FocusedRowChanged Event
      FocusedRowLoaded Event
      FocusedRowObjectChanged Event
      HiddenEditor Event
      InitNewRow Event
      InvalidRowException Event
      RowCellDefaultAlignment Event
      RowDeleted Event
      RowDeleting Event
      RowLoaded Event
      RowUpdated Event
      SelectionChanged Event
      ShowFilterPopupCheckedListBox Event
      ShowFilterPopupDate Event
      ShowFilterPopupExcel Event
      ShowFilterPopupListBox Event
      ShowingEditor Event
      ShownEditor Event
      StartGrouping Event
      StartSorting Event
      SubstituteFilter Event
      SubstituteSortInfo Event
      UnboundExpressionEditorCreated Event
      ValidateRow Event
    [Expand]ColumnView Methods
   [Expand]ColumnViewAppearances Class
   [Expand]ColumnViewOptionsBehavior Class
   [Expand]ColumnViewOptionsFilter Class
   [Expand]ColumnViewOptionsFind Class
   [Expand]ColumnViewOptionsSelection Class
   [Expand]ColumnViewOptionsView Class
   [Expand]ColumnViewPrintAppearances Class
   [Expand]CustomColumnDataEventArgs Class
    CustomColumnDataEventHandler Delegate
   [Expand]CustomColumnDisplayTextEventArgs Class
    CustomColumnDisplayTextEventHandler Delegate
   [Expand]CustomColumnSortEventArgs Class
    CustomColumnSortEventHandler Delegate
   [Expand]CustomDrawEventArgs Class
    CustomDrawEventHandler Delegate
   [Expand]CustomDrawObjectEventArgs Class
    CustomDrawObjectEventHandler Delegate
   [Expand]CustomRowCellEventArgs Class
   [Expand]DragObjectDropEventArgs Class
    DragObjectDropEventHandler Delegate
   [Expand]DragObjectOverEventArgs Class
    DragObjectOverEventHandler Delegate
   [Expand]DragObjectStartEventArgs Class
    DragObjectStartEventHandler Delegate
   [Expand]FilterControlEventArgs Class
    FilterControlEventHandler Delegate
   [Expand]FocusedColumnChangedEventArgs Class
    FocusedColumnChangedEventHandler Delegate
   [Expand]FocusedRowChangedEventArgs Class
    FocusedRowChangedEventHandler Delegate
    GridAnimationType Enumeration
   [Expand]GridCell Class
    GridRowCellState Enumeration
   [Expand]InvalidRowExceptionEventArgs Class
    InvalidRowExceptionEventHandler Delegate
   [Expand]PrintInitializeEventArgs Class
    PrintInitializeEventHandler Delegate
   [Expand]RowAllowEventArgs Class
    RowAllowEventHandler Delegate
   [Expand]RowCellAlignmentEventArgs Class
    RowCellAlignmentEventHandler Delegate
   [Expand]RowCellCustomDrawEventArgs Class
    RowCellCustomDrawEventHandler Delegate
   [Expand]RowCellObjectCustomDrawEventArgs Class
   [Expand]RowEventArgs Class
    RowEventHandler Delegate
   [Expand]RowFilterEventArgs Class
    RowFilterEventHandler Delegate
   [Expand]RowObjectCustomDrawEventArgs Class
    RowObjectCustomDrawEventHandler Delegate
   [Expand]RowObjectEventArgs Class
    RowObjectEventHandler Delegate
   [Expand]RowPreviewCustomDrawEventArgs Class
    ScrollVisibility Enumeration
    ShowButtonModeEnum Enumeration
    ShowFilterPanelMode Enumeration
   [Expand]ValidateRowEventArgs Class
    ValidateRowEventHandler Delegate
   [Expand]ViewBaseOptions Class
   [Expand]ViewFilter Class
   [Expand]ViewPrintOptionsBase Class
  [Expand]DevExpress.XtraGrid.Views.Base.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Card
  [Expand]DevExpress.XtraGrid.Views.Card.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Grid
  [Expand]DevExpress.XtraGrid.Views.Grid.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Layout
  [Expand]DevExpress.XtraGrid.Views.Layout.Events
  [Expand]DevExpress.XtraGrid.Views.Layout.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Printing
  [Expand]DevExpress.XtraGrid.Views.Tile
  [Expand]DevExpress.XtraGrid.Views.WinExplorer
  [Expand]DevExpress.XtraGrid.WinExplorer
  [Expand]DevExpress.XtraLayout
  [Expand]DevExpress.XtraLayout.Customization
  [Expand]DevExpress.XtraLayout.HitInfo
  [Expand]DevExpress.XtraLayout.Localization
  [Expand]DevExpress.XtraLayout.Utils
  [Expand]DevExpress.XtraMap
  [Expand]DevExpress.XtraMap.Printing
  [Expand]DevExpress.XtraNavBar
  [Expand]DevExpress.XtraNavBar.ViewInfo
  [Expand]DevExpress.XtraPdfViewer
  [Expand]DevExpress.XtraPdfViewer.Commands
  [Expand]DevExpress.XtraPdfViewer.Localization
  [Expand]DevExpress.XtraPivotGrid
  [Expand]DevExpress.XtraPivotGrid.Data
  [Expand]DevExpress.XtraPrinting
  [Expand]DevExpress.XtraPrinting.Control
  [Expand]DevExpress.XtraPrinting.Preview
  [Expand]DevExpress.XtraPrintingLinks
  [Expand]DevExpress.XtraReports.UI
  [Expand]DevExpress.XtraRichEdit
  [Expand]DevExpress.XtraRichEdit.Commands
  [Expand]DevExpress.XtraRichEdit.Export
  [Expand]DevExpress.XtraRichEdit.Import
  [Expand]DevExpress.XtraRichEdit.Localization
  [Expand]DevExpress.XtraRichEdit.Menu
  [Expand]DevExpress.XtraScheduler
  [Expand]DevExpress.XtraScheduler.Drawing
  [Expand]DevExpress.XtraScheduler.Printing
  [Expand]DevExpress.XtraScheduler.Reporting
  [Expand]DevExpress.XtraScheduler.Reporting.UI
  [Expand]DevExpress.XtraScheduler.Services
  [Expand]DevExpress.XtraScheduler.Services.Implementation
  [Expand]DevExpress.XtraScheduler.UI
  [Expand]DevExpress.XtraSpellChecker
  [Expand]DevExpress.XtraSpellChecker.Localization
  [Expand]DevExpress.XtraSplashForm
  [Expand]DevExpress.XtraSplashScreen
  [Expand]DevExpress.XtraSpreadsheet
  [Expand]DevExpress.XtraSpreadsheet.Services
  [Expand]DevExpress.XtraTab
  [Expand]DevExpress.XtraTab.Buttons
  [Expand]DevExpress.XtraTab.ViewInfo
  [Expand]DevExpress.XtraTabbedMdi
  [Expand]DevExpress.XtraToolbox
  [Expand]DevExpress.XtraTreeList
  [Expand]DevExpress.XtraTreeList.Columns
  [Expand]DevExpress.XtraTreeList.Data
  [Expand]DevExpress.XtraTreeList.Localization
  [Expand]DevExpress.XtraTreeList.Menu
  [Expand]DevExpress.XtraTreeList.Nodes
  [Expand]DevExpress.XtraTreeList.Nodes.Operations
  [Expand]DevExpress.XtraTreeList.StyleFormatConditions
  [Expand]DevExpress.XtraTreeMap
  [Expand]DevExpress.XtraVerticalGrid
  [Expand]DevExpress.XtraVerticalGrid.Events
  [Expand]DevExpress.XtraVerticalGrid.Localization
  [Expand]DevExpress.XtraVerticalGrid.Rows
  [Expand]DevExpress.XtraWaitForm
  [Expand]DevExpress.XtraWizard
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Document Server
[Expand]Reporting
[Expand]Report Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

ColumnView.InvalidRowException Event

Fires when a row fails validation or when it cannot be saved to the data source.

Namespace:DevExpress.XtraGrid.Views.Base
Assembly:DevExpress.XtraGrid.v17.2.dll

Expanded Syntax

Expanded Event Data

The event handler receives an argument of type InvalidRowExceptionEventArgs containing data related to this event.

The following InvalidRowExceptionEventArgs properties provide information specific to this event.
Property Description
ErrorText Gets or sets the error description to be displayed in the message box/tooltip.
Exception Gets the exception that caused the event.
ExceptionMode Gets or sets the type of response to supplying invalid values.
Row Gets an object which represents the row that failed validation.
RowHandle Gets the handle of the row that failed validation.
WindowCaption Gets or sets the caption of the error message box.

Expanded Remarks

If a row was modified and is about to lose focus, the View raises the ValidateRow event. You can handle the event to specify whether row data is valid. If the row fails validation or cannot be saved to the data source due to database restrictions, the InvalidRowException is raised. Note that you can avoid invalid values at the validation stage by leaving the row focused so that end-users can correct the values entered. Another alternative is to discard the changes made.

Handle the InvalidRowException event to provide a proper response to entering invalid data. The row, whose data failed validation, can be identified using the InvalidRowExceptionEventArgs.RowHandle parameter. The exception that raised the event and the error description can be obtained via the ExceptionEventArgs.Exception and ExceptionEventArgs.ErrorText parameters respectively. The actual response is specified by the ExceptionEventArgs.ExceptionMode parameter. You can display an error message box, discard changes made, raise an exception or take no action.

For more information, see the Modify and Validate Cell Values topic.

Expanded Example

Assume that a Grid View contains two columns: "Units In Stock" and "Units On Order". A value in the first column must be more than the value of the second one. So we need to perform validation of a row when it is about to be saved to the data source. For this purpose, the ValidateRow event is handled.

If row fails validation, we set errors for the columns with coresponding descriptions using the SetColumnError method. The descriptions will be displayed when hovering over error icons.

The InvalidRowException event is handled in order to suppress displaying the default error message box.

The following screenshot shows a Grid View after a row fails validation.

Expanded See Also

How would you rate this topic?​​​​​​​