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
  [Expand]DevExpress.XtraGrid.Views.Base
  [Expand]DevExpress.XtraGrid.Views.Base.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Card
  [Expand]DevExpress.XtraGrid.Views.Card.ViewInfo
  [Collapse]DevExpress.XtraGrid.Views.Grid
   [Expand]CalcPreviewTextEventArgs Class
    CalcPreviewTextEventHandler Delegate
   [Expand]CellMergeEventArgs Class
    CellMergeEventHandler Delegate
   [Expand]ColumnHeaderCustomDrawEventArgs Class
    ColumnHeaderCustomDrawEventHandler Delegate
   [Expand]CustomFilterDialogEventArgs Class
    CustomFilterDialogEventHandler Delegate
   [Expand]CustomMasterRowEventArgs Class
    CustomMasterRowEventHandler Delegate
   [Expand]CustomRowCellEditEventArgs Class
    CustomRowCellEditEventHandler Delegate
    DetailExpandButtonMode Enumeration
    DrawFocusRectStyle Enumeration
    EditFormBindingMode Enumeration
    EditFormModifiedAction Enumeration
   [Expand]EditFormPreparedEventArgs Class
    EditFormPreparedEventHandler Delegate
   [Expand]EditFormShowingEventArgs Class
    EditFormShowingEventHandler Delegate
   [Expand]EditFormUserControl Class
   [Expand]EditFormValidateEditorEventArgs Class
   [Expand]FilterItem Class
   [Expand]FilterPopupCheckedListBoxEventArgs Class
    FilterPopupCheckedListBoxEventHandler Delegate
   [Expand]FilterPopupDateEventArgs Class
    FilterPopupDateEventHandler Delegate
   [Expand]FilterPopupEventArgs Class
   [Expand]FilterPopupExcelDataEventArgs Class
    FilterPopupExcelDataEventHandler Delegate
   [Expand]FilterPopupExcelEventArgs Class
    FilterPopupExcelEventHandler Delegate
   [Expand]FilterPopupListBoxEventArgs Class
    FilterPopupListBoxEventHandler Delegate
   [Expand]FooterCellCustomDrawEventArgs Class
    FooterCellCustomDrawEventHandler Delegate
    GridEditingMode Enumeration
   [Expand]GridMenuEventArgs Class
    GridMenuEventHandler Delegate
   [Expand]GridMenuItemClickEventArgs Class
    GridMenuItemClickEventHandler Delegate
    GridMenuType Enumeration
    GridMultiSelectMode Enumeration
   [Expand]GridOptionsBehavior Class
   [Expand]GridOptionsClipboard Class
   [Expand]GridOptionsCustomization Class
   [Expand]GridOptionsDetail Class
   [Expand]GridOptionsEditForm Class
   [Expand]GridOptionsFilter Class
   [Expand]GridOptionsHint Class
   [Expand]GridOptionsMenu Class
   [Expand]GridOptionsNavigation Class
   [Expand]GridOptionsPrint Class
   [Expand]GridOptionsSelection Class
   [Expand]GridOptionsView Class
    GridState Enumeration
   [Collapse]GridView Class
     GridView Members
    [Expand]GridView Constructor
    [Expand]GridView Properties
    [Collapse]GridView Events
      AfterPrintRow Event
      BeforePrintRow Event
      CalcPreviewText Event
      CalcRowHeight Event
      CellMerge Event
      ColumnWidthChanged Event
      CustomColumnGroup Event
      CustomDrawCell Event
      CustomDrawColumnHeader Event
      CustomDrawFooter Event
      CustomDrawFooterCell Event
      CustomDrawGroupPanel Event
      CustomDrawGroupRow Event
      CustomDrawGroupRowCell Event
      CustomDrawRowFooter Event
      CustomDrawRowFooterCell Event
      CustomDrawRowIndicator Event
      CustomDrawRowPreview Event
      CustomRowCellEdit Event
      CustomRowCellEditForEditing Event
      CustomSummaryCalculate Event
      CustomSummaryExists Event
      DragObjectDrop Event
      DragObjectOver Event
      DragObjectStart Event
      EditFormPrepared Event
      EditFormShowing Event
      GetLoadingImage Event
      GetThumbnailImage Event
      GridMenuItemClick Event
      GroupLevelStyle Event
      GroupRowCollapsed Event
      GroupRowCollapsing Event
      GroupRowExpanded Event
      GroupRowExpanding Event
      HideCustomizationForm Event
      LeftCoordChanged Event
      MasterRowCollapsed Event
      MasterRowCollapsing Event
      MasterRowEmpty Event
      MasterRowExpanded Event
      MasterRowExpanding Event
      MasterRowGetChildList Event
      MasterRowGetLevelDefaultView Event
      MasterRowGetRelationCount Event
      MasterRowGetRelationDisplayCaption Event
      MasterRowGetRelationName Event
      MeasurePreviewHeight Event
      PopupMenuShowing Event
      RowCellClick Event
      RowCellStyle Event
      RowClick Event
      RowStyle Event
      ShowCustomizationForm Event
      ShowGridMenu Event
      ShowingPopupEditForm Event
      TopRowChanged Event
    [Expand]GridView Methods
   [Expand]GridViewAppearances Class
   [Expand]GridViewOptionsFind Class
   [Expand]GridViewPrintAppearances Class
    GroupDrawMode Enumeration
    GroupFooterShowMode Enumeration
   [Expand]GroupLevelStyleEventArgs Class
    GroupLevelStyleEventHandler Delegate
   [Expand]InitNewRowEventArgs Class
    InitNewRowEventHandler Delegate
   [Expand]MasterRowCanExpandEventArgs Class
    MasterRowCanExpandEventHandler Delegate
   [Expand]MasterRowEmptyEventArgs Class
    MasterRowEmptyEventHandler Delegate
   [Expand]MasterRowGetChildListEventArgs Class
    MasterRowGetChildListEventHandler Delegate
   [Expand]MasterRowGetLevelDefaultViewEventArgs Class
    MasterRowGetLevelDefaultViewEventHandler Delegate
   [Expand]MasterRowGetRelationCountEventArgs Class
    MasterRowGetRelationCountEventHandler Delegate
   [Expand]MasterRowGetRelationNameEventArgs Class
    MasterRowGetRelationNameEventHandler Delegate
    NewItemRowPosition Enumeration
   [Expand]PopupMenuShowingEventArgs Class
    PopupMenuShowingEventHandler Delegate
   [Expand]RowCellClickEventArgs Class
    RowCellClickEventHandler Delegate
   [Expand]RowCellStyleEventArgs Class
    RowCellStyleEventHandler Delegate
   [Expand]RowClickEventArgs Class
    RowClickEventHandler Delegate
   [Expand]RowHeightEventArgs Class
    RowHeightEventHandler Delegate
   [Expand]RowIndicatorCustomDrawEventArgs Class
    RowIndicatorCustomDrawEventHandler Delegate
   [Expand]RowStyleEventArgs Class
    RowStyleEventHandler Delegate
    RowVisibleState Enumeration
    ScrollStyleFlags Enumeration
  [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

GridView.CustomDrawCell Event

Enables data cells to be painted manually.

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

Expanded Syntax

Expanded Event Data

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

The following RowCellCustomDrawEventArgs 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.
Cell Provides information on the painted cell.
CellValue Gets the painted value or display text (depending on the event).
Column Gets the column whose element is being painted.
DisplayText Gets or sets the painted element's display text.
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.
RowHandle Gets the handle of a painted element's row.

Expanded Remarks

The CustomDrawCell event is raised before a data cell is painted. The cell that is about to be painted is identified by the RowCellCustomDrawEventArgs.RowHandle and RowCellCustomDrawEventArgs.Column parameters. See the Custom Painting Basics and Custom Painting Scenarios topics for information on using custom draw events.

Note

In some cases, a cell's background may not be repainted by the default painting mechanism (when it is invoked). For instance, if you draw a line, this line may be visible even after the default rendering. However, this is not always true. For instance, if you handle the RowCellStyle event (in addition to the CustomDrawCell event) and customize the cell's background color(s), custom drawing will be cleared and the cell's background will be repainted by the default painting mechanism after your CustomDrawCell event handler is completed.

We do not recommend that you rely on this behavior, as it may change in the future.

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 demonstrates how to use the CustomDrawCell event to set up the appearance of "UnitsInStock" column cells. If a cell belongs to the focused row, custom draw is not applied and the cell is drawn by default. Otherwise the background of a cell is drawn according to its value.

Also we do not perform custom painting of a cell if the "Discontinued" column cell of the same row is checked. Instead, we just change the DisplayText parameter to "Discontinued" and leave the Handled parameter set to false. This text will be drawn using the default appearance settings after performing the event handler.

If a value of the "Discontinued" column is set to false, the background of the "UnitsInStock" cell of the same row is drawn using the LightSkyBlue or "LightGreen" color according to the cell value. In ths case, the Handled parameter is set to true in order to prevent default cell painting.

Expanded See Also

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