Log In
Home
Support
Demos
Documentation
Blogs
Training
Webinars
[Expand]General Information
[Collapse]WinForms Controls
  Prerequisites
 [Expand]What's Installed
 [Expand]Build an Application
 [Collapse]Controls and Libraries
  [Expand]Forms and User Controls
  [Expand]Messages, Notifications and Dialogs
  [Expand]Editors and Simple Controls
  [Expand]Ribbon, Bars and Menu
  [Expand]Application UI Manager
  [Expand]Docking Library
  [Expand]Data Grid
  [Expand]Vertical Grid
  [Expand]Pivot Grid
  [Expand]Tree List
  [Expand]Chart Control
  [Expand]Diagrams
  [Expand]Gauges
  [Expand]Map Control
  [Expand]Scheduler
  [Collapse]Spreadsheet
   [Expand]Product Information
    Product Structure
    Getting Started
   [Expand]Spreadsheet Document
    Supported Formats
   [Expand]Cell Basics
   [Expand]Spreadsheet Formulas
    Defined Names
    Data Binding
    Data Validation
   [Expand]Data Presentation
    Data Grouping
   [Expand]Pivot Table Overview
   [Expand]Charting Overview
    Printing
    Events
   [Expand]Mail Merge Overview
    Protection
    Find and Replace
   [Expand]Visual Elements
    Services
   [Expand]Shortcuts
   [Collapse]Examples
    [Expand]Files
    [Expand]Workbooks
    [Expand]Worksheets
    [Expand]Rows and Columns
    [Expand]Cells
    [Expand]Formulas
    [Expand]Import and Export Data
    [Expand]Data Binding
    [Expand]Mail Merge
    [Expand]Formatting Cells
    [Expand]Conditional Formatting
    [Expand]Group Data
    [Expand]Filter Data
    [Expand]Tables
    [Expand]Pivot Tables
    [Expand]Printing
    [Expand]Pictures
    [Expand]Charts
    [Expand]Protection
    [Collapse]Customization
      How to: Customize or Hide the Popup Menu
      How to: Replace Built-In Command with a Custom Command
      How to: Assign Custom In-place Editors to Worksheet Cells
  [Expand]Rich Text Editor
  [Expand]Spell Checker
  [Expand]Form Layout Managers
  [Expand]Navigation Controls
  [Expand]Printing-Exporting
  [Expand]PDF Viewer
   Reporting
  [Expand]Snap
  [Expand]TreeMap Control
 [Expand]Common Features
  Get More Help
 [Expand]API Reference
[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

How to: Replace Built-In Command with a Custom Command

This example illustrates the technique used to modify the functionality of the existing SpreadsheetControl command used to clear the contents of the selected cell.

The SpreadsheetControl exposes the ISpreadsheetCommandFactoryService interface that enables you to substitute the default command with your own custom command.

You have to create a custom command class, inherited from the command that you wish to replace. In this example, it is the DevExpress.XtraSpreadsheet.Commands.FormatClearContentsCommand class. Override the ExecuteCore method to specify actions performed by a command when it is executed.

Show Me

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

Create a class inherited from the SpreadsheetCommandFactoryServiceWrapper. This class will replace the default command service. In this class, you should override the CreateCommand method to create an instance of a custom command class. An identifier of the currently processed command is passed as a parameter to this method.

Show Me

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

Use the SpreadsheetCommandFactoryServiceWrapper class descendant to substitute the default command service obtained using the SpreadsheetControl.GetService<T> method.

Show Me

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

Now, instead of clearing the contents of the selected cell, you will get the message "Custom command executed".

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