Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 94 additions & 0 deletions controls/radspreadsheet/features/ui-worksheet-editor-dialogs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
---
title: Worksheet Editor Dialogs
page_title: Worksheet Editor Dialogs
description: Check our "Worksheet Editor Dialogs" documentation article for the RadSpreadsheet WPF control.
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Front-matter description hard-codes "WPF" instead of using the {{ site.framework_name }} token used in other RadSpreadsheet articles. This makes the page inconsistent across framework builds; align it with the standard description pattern.

Suggested change
description: Check our "Worksheet Editor Dialogs" documentation article for the RadSpreadsheet WPF control.
description: Check our "Worksheet Editor Dialogs" documentation article for the RadSpreadsheet {{ site.framework_name }} control.

Copilot uses AI. Check for mistakes.
slug: radspreadsheet-worksheet-editor-dialogs
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The slug radspreadsheet-worksheet-editor-dialogs is inconsistent with other ui-* feature articles whose slugs include the radspreadsheet-ui- prefix (e.g., radspreadsheet-ui-worksheet-editor-context-menu). Consider renaming the slug (and updating references) to match the established convention.

Suggested change
slug: radspreadsheet-worksheet-editor-dialogs
slug: radspreadsheet-ui-worksheet-editor-dialogs

Copilot uses AI. Check for mistakes.
tags: worksheet,dialogs
published: True
position: 15
---

# Worksheet Editor Dialogs

The `RadWorksheetEditor` class provides the `Dialog` property, which is of the type of `WorksheetEditorDialogs`. This class contains properties for each of the dialogs used in the `RadSpreadsheet` control.
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The text says RadWorksheetEditor exposes a Dialog property, but the rest of the article (and the code samples) use Dialogs. This looks like an API name typo and will mislead readers; update the property name so it's consistent and accurate.

Suggested change
The `RadWorksheetEditor` class provides the `Dialog` property, which is of the type of `WorksheetEditorDialogs`. This class contains properties for each of the dialogs used in the `RadSpreadsheet` control.
The `RadWorksheetEditor` class provides the `Dialogs` property, which is of the type of `WorksheetEditorDialogs`. This class contains properties for each of the dialogs used in the `RadSpreadsheet` control.

Copilot uses AI. Check for mistakes.

The `WorksheetEditorDialogs` class contains the following properties:

* `HeaderFooterDialog`—Gets or sets the header/footer dialog. To set a custom header/footer dialog, extend the `HeaderFooterDialogContent` class.
* `FormatShapesDialog`—Gets or sets the format shapes dialog. To set a custom format shapes dialog, extend the `FormatShapesDialogContent` class.
* `SortingDialog`—Gets or sets the sorting dialog. To set a custom sorting dialog, extend the `SortingDialogContent` class.
* `TopFilterDialog`—Gets or sets the top10 filter dialog. To set a custom top10 filter dialog, extend the `TopFilterDialogContent` class.
* `CustomFilterDialog`—Gets or sets the custom filter dialog. To set a custom custom filter dialog, extend the `CustomFilterDialogContent` class.
* `CustomSortListsDialog`—Gets or sets the custom sort lists dialog. To set a custom custom sort lists dialog, extend the `CustomSortListsDialogContent` class.
Comment on lines +21 to +22
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the duplicated word "custom" ("custom custom") in this sentence; it reads like a copy/paste typo.

Suggested change
* `CustomFilterDialog`—Gets or sets the custom filter dialog. To set a custom custom filter dialog, extend the `CustomFilterDialogContent` class.
* `CustomSortListsDialog`—Gets or sets the custom sort lists dialog. To set a custom custom sort lists dialog, extend the `CustomSortListsDialogContent` class.
* `CustomFilterDialog`—Gets or sets the custom filter dialog. To set a custom filter dialog, extend the `CustomFilterDialogContent` class.
* `CustomSortListsDialog`—Gets or sets the custom sort lists dialog. To set a custom sort lists dialog, extend the `CustomSortListsDialogContent` class.

Copilot uses AI. Check for mistakes.
Comment on lines +21 to +22
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the duplicated word "custom" ("custom custom") in this sentence; it reads like a copy/paste typo.

Suggested change
* `CustomFilterDialog`—Gets or sets the custom filter dialog. To set a custom custom filter dialog, extend the `CustomFilterDialogContent` class.
* `CustomSortListsDialog`—Gets or sets the custom sort lists dialog. To set a custom custom sort lists dialog, extend the `CustomSortListsDialogContent` class.
* `CustomFilterDialog`—Gets or sets the custom filter dialog. To set a custom filter dialog, extend the `CustomFilterDialogContent` class.
* `CustomSortListsDialog`—Gets or sets the custom sort lists dialog. To set a custom sort lists dialog, extend the `CustomSortListsDialogContent` class.

Copilot uses AI. Check for mistakes.
* `DataValidationDialog`—Gets or sets the data validation dialog. To set a custom data validation dialog, extend the `DataValidationDialogContent` class.
* `AlertDialog`—Gets or sets the alert dialog. To set a custom alert dialog, extend the `AlertDialogContent` class.
* `ConfirmDialog`—Gets or sets the confirm dialog. To set a custom confirm dialog, extend the `ConfirmDialogContent` class.
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Trailing spaces at the end of this list item will render as a hard line break in Markdown. Remove the extra whitespace to avoid unintended formatting changes.

Suggested change
* `ConfirmDialog`—Gets or sets the confirm dialog. To set a custom confirm dialog, extend the `ConfirmDialogContent` class.
* `ConfirmDialog`—Gets or sets the confirm dialog. To set a custom confirm dialog, extend the `ConfirmDialogContent` class.

Copilot uses AI. Check for mistakes.
* `StopDialog`—Gets or sets the stop dialog. To set a custom stop dialog, extend the `StopDialogContent` class.
* `WarningDialog`—Gets or sets the warning dialog. To set a custom warning dialog, extend the `WarningDialogContent` class.
* `InformationDialog`—Gets or sets the information dialog. To set a custom information dialog, extend the `InformationDialogContent` class.
* `UnhideSheetDialog`—Gets or sets the unhide sheet dialog. To set a custom unhide sheet dialog, extend the `UnhideSheetDialogContent` class.
* `InsertChartDialog`—Gets or sets the insert chart dialog. To set a custom insert chart dialog, extend the `InsertChartDialogContent` class.
* `ManageConditionalFormattingDialog`—Gets or sets the manage conditional formatting dialog. To set a custom manage conditional formatting dialog, extend the `ManageConditionalFormattingDialogContent` class.
* `FormatFontDialog`—Gets or sets the Format Font dialog. To set a custom Format Font dialog, extend the `FormatFontDialogContent` class.
* `ConditionalFormattingDialog`—Gets or sets the new/edit conditional formatting dialog. To set a custom new/edit conditional formatting dialog, extend the `ConditionalFormattingDialogContent` class.
* `PageSetupDialog`—Gets or sets the page setup dialog. To set a custom page setup dialog, extend the `PageSetupDialogContent` class.
* `NameManagerDialog`—Gets or sets the name manager dialog. To set a custom name manager dialog, extend the `NameManagerDialogContent` class.
* `DecimalNumberPromptDialog`—Gets or sets the decimal number prompt dialog. To set a custom decimal number prompt dialog, extend the `DecimalNumberPromptDialogContent` class.
* `FormatCellsDialog`—Gets or sets the format cells dialog. To set a custom format cells dialog, extend the `FormatCellsDialogContent` class.
* `InsertCellsDialog`—Gets or sets the insert cells dialog. To set a custom insert cells dialog, extend the `InsertCellsDialogContent` class.
* `RemoveCellsDialog`—Gets or sets the remove cells dialog. To set a custom remove cells dialog, extend the `RemoveCellsDialogContent` class.
* `ScaleFactorDialog`—Gets or sets the scale factor dialog. To set a custom scale factor dialog, extend the `ScaleFactorDialogContent` class.
* `SelectColorDialog`—Gets or sets the select color dialog. To set a custom select color dialog, extend the `SelectColorDialogContent` class.
* `InsertFunctionDialog`—Gets or sets the insert function dialog. To set a custom insert function dialog, extend the `InsertFunctionDialogContent` class.
* `StyleDialog`—Gets or sets the style dialog. To set a custom style dialog, extend the `StyleDialogContent` class.
* `CreateNewThemeColorsDialog`—Gets or sets the create new theme colors dialog. To set a custom create new theme colors dialog, extend the `CreateNewThemeColorsDialogContent` class.
* `ProtectDialog`—Gets or sets the protect dialog. To set a custom protect dialog, extend the `ProtectDialogContent` class.
* `UnprotectDialog`—Gets or sets the unprotect dialog. To set a custom unprotect dialog, extend the `UnprotectDialogContent` class.
* `CreateNewThemeFontsDialog`—Gets or sets the create new theme fonts dialog. To set a custom create new theme fonts dialog, extend the `CreateNewThemeFontsDialogContent` class.
* `SeriesDialog`—Gets or sets the series dialog. To set a custom series dialog, extend the `SeriesDialogContent` class.
* `HyperlinkDialog`—Gets or sets the hyperlink dialog. To set a custom hyperlink dialog, extend the `HyperlinkDialogContent` class.
* `FindAndReplaceDialog`—Gets or sets the find and replace dialog. To set a custom find and replace dialog, extend the `FindAndReplaceDialogContent` class.
* `CreateUpdateSpreadsheetNameDialog`—Gets or sets the create update spreadsheet name dialog. To set a custom create update spreadsheet name dialog, extend the `CreateUpdateSpreadsheetNameDialogContent` class.
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"create update" in these sentences is grammatically awkward; consider changing to "create/update" (or "create or update") for readability while keeping the property name as-is.

Suggested change
* `CreateUpdateSpreadsheetNameDialog`—Gets or sets the create update spreadsheet name dialog. To set a custom create update spreadsheet name dialog, extend the `CreateUpdateSpreadsheetNameDialogContent` class.
* `CreateUpdateSpreadsheetNameDialog`—Gets or sets the create/update spreadsheet name dialog. To set a custom create/update spreadsheet name dialog, extend the `CreateUpdateSpreadsheetNameDialogContent` class.

Copilot uses AI. Check for mistakes.
* `SimpleConditionalFormattingDialog`—Gets or sets the simple conditional formatting dialog. To set a custom simple conditional formatting dialog, extend the `SimpleConditionalFormattingDialogContent` class.

## Accessing the Dialogs

The RadSpreadsheet control provides the `ActiveWorksheetEditor` property that gives you access to the active worksheet editor. You can use this property to access the `Dialogs` property of the active worksheet editor and utilize the dialogs as needed.

__Accessing the Dialogs__
```C#
var findAndReplaceDialog = this.radSpreadsheet.ActiveWorksheetEditor.Dialogs.FindAndReplaceDialog;
```
Comment on lines +56 to +61
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This article describes accessing dialogs via ActiveWorksheetEditor, but the PR title mentions the ActiveSheetEditor path. If the intent is to document ActiveSheetEditor, add an example that uses radSpreadsheet.ActiveSheetEditor and casts it to RadWorksheetEditor before accessing .Dialogs (and clarify when ActiveWorksheetEditor vs ActiveSheetEditor should be used).

Copilot uses AI. Check for mistakes.

## Customizing the Dialogs

You can customize the dialogs by creating a new class that inherits from the dialog that you want to customize and override the necessary methods to implement your custom logic.
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The section says to "inherit from the dialog" to customize it, but the preceding list instructs extending *DialogContent classes and the example inherits from FindAndReplaceDialogContent. Reword this to explicitly say to inherit from the corresponding *DialogContent type to avoid confusion.

Suggested change
You can customize the dialogs by creating a new class that inherits from the dialog that you want to customize and override the necessary methods to implement your custom logic.
You can customize the dialogs by creating a new class that inherits from the corresponding `*DialogContent` type for the dialog that you want to customize and overriding the necessary methods to implement your custom logic.

Copilot uses AI. Check for mistakes.

The following example showcases how to customize one of the properties provided by the WorksheetEditorDialogs class. It showcases how to introduce a custom `FindAndReplaceDialogContent` type for the `FindAndReplaceDialog` property. In the example, the `OnKeyDown` method is overridden to add custom logic for handling the Escape and Enter keys.

__Extending the FindAndReplaceDialogContent__
```C#
public class CustomFindAndReplaceDialogContent : FindAndReplaceDialogContent
{
public CustomFindAndReplaceDialogContent()
{
}

protected override void OnKeyDown(KeyEventArgs e)
{
if (e.Key == Key.Escape)
{
this.Close();
}
else if (e.Key == Key.Enter)
{
FindNextCommand.Execute(null);
}
}
}
```

__Setting the CustomFindAndReplaceDialogContent__
```C#
this.radSpreadsheet.ActiveWorksheetEditor.Dialogs.FindAndReplaceDialog = new CustomFindAndReplaceDialogContent();
```