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.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
      FilterPopupExcelData 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]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]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

ColumnView.CustomDrawEmptyForeground Event

Enables a View's empty space to be custom painted when there aren't any rows displayed.

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

Expanded Syntax

Expanded Event Data

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

The following CustomDrawEventArgs properties provide information specific to this event.
Property Description
Appearance Gets the painted element's appearance settings.
Bounds Returns a value specifying limits for the drawing area.
Cache Gets an object which specifies the storage for the most often used pens, fonts and brushes.
Graphics Gets an object used to paint.
Handled Gets or sets a value specifying whether an event was handled and that the default element painting is therefore not required.

Expanded Remarks

The CustomDrawEmptyForeground event is raised before a View is painted assuming that there aren't any rows displayed. This can occur if the bound data source is empty or none of the rows meet the specified filter condition. Note that this event fires for the GridControl.MainView only. The height of the detail View depends upon the number of records displayed, it's adjusted so that empty space is never displayed.

Handle the CustomDrawEmptyForeground event to custom paint the View's empty area. Custom painting this area can be useful to display explanatory messages so that end-users aren't confused when there aren't any records displayed.

You don't necessarily need to paint the empty space background when handling the CustomDrawEmtpyForeground event. By default, the background color of this area is specified using the GridViewAppearances.Empty object. Handling the CustomDrawEmptyForeground event does not erase the default painted background unless you fill the background manually.

See the Custom Painting Basics and Custom Painting Scenarios topics for information on using custom draw events.
Note

The control's events designed to change the appearance or rendering of control elements must not be used to update cell values or to modify the control's layout. Any inappropriate operation which causes a layout update, may break the normal control behavior.

Expanded Example

The following code lists a CustomDrawEmptyForeground event handler which is used to perform custom painting of the View's region when no records are present in a View. In this example, a string is drawn in the empty region of a View.

The image below shows the result of custom draw.

Expanded See Also

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