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
  [Expand]DevExpress.XtraGrid.Views.Base
  [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
  [Collapse]DevExpress.XtraSpreadsheet
   [Expand]CustomDrawCellBackgroundEventArgs Class
    CustomDrawCellBackgroundEventHandler Delegate
   [Expand]CustomDrawCellEventArgs Class
   [Expand]CustomDrawCellEventArgsBase Class
    CustomDrawCellEventHandler Delegate
   [Expand]CustomDrawColumnHeaderBackgroundEventArgs Class
    CustomDrawColumnHeaderBackgroundEventHandler Delegate
   [Expand]CustomDrawColumnHeaderEventArgs Class
    CustomDrawColumnHeaderEventHandler Delegate
   [Expand]CustomDrawFrozenPaneBorderEventArgs Class
    CustomDrawFrozenPaneBorderEventHandler Delegate
   [Expand]CustomDrawHeaderEventArgsBase Class
   [Expand]CustomDrawObjectEventsArgs Class
   [Expand]CustomDrawRowHeaderBackgroundEventArgs Class
    CustomDrawRowHeaderBackgroundEventHandler Delegate
   [Expand]CustomDrawRowHeaderEventArgs Class
    CustomDrawRowHeaderEventHandler Delegate
    FrozenPaneBorderType Enumeration
   [Expand]PopupMenuShowingEventArgs Class
    PopupMenuShowingEventHandler Delegate
   [Collapse]SpreadsheetControl Class
     SpreadsheetControl Members
     SpreadsheetControl Constructor
    [Expand]SpreadsheetControl Properties
    [Collapse]SpreadsheetControl Events
      ActiveSheetChanged Event
      ActiveSheetChanging Event
      BeforeDispose Event
      BeforeExport Event
      BeforeImport Event
      BeforePrintSheet Event
      CellBeginEdit Event
      CellCancelEdit Event
      CellEndEdit Event
      CellValueChanged Event
      ClipboardDataObtained Event
      ClipboardDataPasted Event
      ClipboardDataPasting Event
      ColumnsInserted Event
      ColumnsInserting Event
      ColumnsRemoved Event
      ColumnsRemoving Event
      CommentInserted Event
      CommentInserting Event
      CommentRemoved Event
      CommentRemoving Event
      ContentChanged Event
      CopiedRangePasted Event
      CopiedRangePasting Event
      CustomAssemblyLoading Event
      CustomCellEdit Event
      CustomDrawCell Event
      CustomDrawCellBackground Event
      CustomDrawColumnHeader Event
      CustomDrawColumnHeaderBackground Event
      CustomDrawFrozenPaneBorder Event
      CustomDrawRowHeader Event
      CustomDrawRowHeaderBackground Event
      DataBindingWarning Event
      DefinedNameConflictResolving Event
      DefinedNameDeleting Event
      DefinedNameEditing Event
      DefinedNameValidating Event
      DocumentClosing Event
      DocumentLoaded Event
      DocumentPropertiesChanged Event
      EmptyDocumentCreated Event
      EncryptedFileIntegrityCheckFailed Event
      EncryptedFilePasswordRequest Event
      HyperlinkClick Event
      InitializeDocument Event
      InvalidFormatException Event
      ModifiedChanged Event
      PanesFrozen Event
      PanesUnfrozen Event
      PopupMenuShowing Event
      PropertyChanged Event
      ProtectionWarning Event
      RangeCopied Event
      RangeCopying Event
      ReadOnlyChanged Event
      RowsInserted Event
      RowsInserting Event
      RowsRemoved Event
      RowsRemoving Event
      ScrollPositionChanged Event
      SelectionChanged Event
      ShapeInserted Event
      ShapeRemoved Event
      ShapeRemoving Event
      ShapesCopying Event
      SheetInserted Event
      SheetRemoved Event
      SheetRemoving Event
      SheetRenamed Event
      SheetRenaming Event
      UnhandledException Event
      UnitChanged Event
      UnitChanging Event
      UpdateUI Event
      ValidateCustomSqlQuery Event
      ZoomChanged Event
    [Expand]SpreadsheetControl Methods
   [Expand]SpreadsheetControlOptions Class
   [Expand]SpreadsheetCustomCellEditEventArgs Class
    SpreadsheetCustomCellEditEventHandler Delegate
   [Expand]SpreadsheetDataSourceWizardOptions Class
    SpreadsheetElementVisibility Enumeration
   [Expand]SpreadsheetFormulaBarControl Class
   [Expand]SpreadsheetHorizontalScrollbarOptions Class
    SpreadsheetMenuType Enumeration
   [Expand]SpreadsheetNameBoxControl Class
   [Expand]SpreadsheetScrollbarOptions Class
    SpreadsheetScrollbarVisibility Enumeration
   [Expand]SpreadsheetTabSelectorOptions Class
   [Expand]SpreadsheetVerticalScrollbarOptions Class
   [Expand]WorksheetDisplayArea Class
  [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

SpreadsheetControl.CustomDrawCell Event

Provides the capability to perform custom painting of cell content.

Namespace:DevExpress.XtraSpreadsheet
Assembly:DevExpress.XtraSpreadsheet.v17.2.dll

Expanded Syntax

Expanded Event Data

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

The following CustomDrawCellEventArgs properties provide information specific to this event.
Property Description
Bounds Returns the bounding rectangle of the drawing area.
Cache Gets an object which specifies the storage for the pens, fonts and brushes.
Cell Gets the worksheet cell being painted.
FillBounds Returns the bounding rectangle of the drawing area for painting the cell background.
Font Gets the font attributes of the painted cell.
ForeColor Gets or sets the color of the text within the painted cell.
Graphics Gets an object used for painting.
Handled Gets or sets whether an event was handled. If it was handled, the default actions are not required.
Text Gets or sets the painted cell's text.

Expanded Remarks

The CustomDrawCell event is raised before a worksheet Cell is painted. Event arguments properties provide the objects and information required to paint the cell.

Set the CustomDrawObjectEventsArgs.Handled property to true to cancel default painting. Use the CustomDrawObjectEventsArgs.DrawDefault method to perform default painting within the event handler.

The CustomDrawCell event is fired only for existing cells, i.e., the cells that have formatting or content different from the default. Use the DevExpress.Spreadsheet.Worksheet.GetUsedRange method to obtain a range that comprises existing cells.

Important

Do not change cell values or formatting within this event handler. The events designed to change the appearance or render control elements must not be used to update cell values or to modify the control's layout. Any operation which causes a layout update may result in incorrect operation or may throw an unhandled exception.

Expanded Example

Show Me

A complete sample project is available in the DevExpress Code Examples database at http://www.devexpress.com/example=E5044.

The following code uses the built-in worksheet function RANK.AVG (listed in Statistical Functions document) to calculate the rank of the current cell value in the row. The DevExpress.Spreadsheet.IWorkbook.Evaluate method of a workbook provides access to worksheet functions, performs the calculation and returns the result. The rank value is transformed into a Roman numeral using the DevExpress.Docs.Text.INumberInWordsProvider.ConvertToText method. The System.Drawing.Graphics object is used to draw a Roman numeral in the left upper corner of the cell.

Only the top three ranks are displayed. Certain rows are excluded, i.e., custom draw is not performed for cells in those rows..

An area of a sample worksheet that displays cell ranks is shown in the image below.

Expanded See Also

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