New to Telerik Document Processing? Start a free 30-day trial

Sheet

Class

Abstract base for all sheet types in a workbook, providing naming, visibility, protection, and layout coordination for derived sheet implementations (Worksheet, future chart sheets).

Definition

Namespace:Telerik.Documents.Spreadsheet.Model

Assembly:Telerik.Windows.Documents.Spreadsheet.dll

Syntax:

C#
public abstract class Sheet : NotifyPropertyChangedBase, INotifyPropertyChanged, ISheet, IDisposable

Inheritance: objectNotifyPropertyChangedBaseSheet

Derived Classes: Worksheet

Implements: IDisposableINotifyPropertyChangedISheet

Inherited Members NotifyPropertyChangedBase.OnPropertyChanged(string)NotifyPropertyChangedBase.OnPropertyChanged(PropertyChangedEventArgs)NotifyPropertyChangedBase.PropertyChanged

Properties

Indicates whether layout invalidation events are deferred, typically during batch operations to avoid redundant recalculations.

C#
public bool IsLayoutUpdateSuspended { get; }
Property Value:

The value indicating whether the layout update is suspended.

Implements: ISheet.IsLayoutUpdateSuspended

Indicates whether sheet protection is currently enforced, restricting user modifications based on protection options.

C#
public bool IsProtected { get; }
Property Value:

The is protected.

User-visible sheet name displayed on tabs, validated for uniqueness and Excel naming constraints (length, forbidden characters).

C#
public string Name { get; set; }
Property Value:

The name of the sheet.

Implements: ISheet.Name

Gets the sheet page setup.

C#
protected abstract SheetPageSetupBase SheetPageSetup { get; }
Property Value:

The sheet page setup.

Discriminates the sheet category (Worksheet, future chart sheets) to route type-specific operations.

C#
public abstract SheetType Type { get; }
Property Value:

The type of the sheet.

Implements: ISheet.Type

Controls whether the sheet is visible, hidden, or very hidden (hidden from UI visibility toggles).

C#
public SheetVisibility Visibility { get; set; }
Property Value:

The visibility.

Implements: ISheet.Visibility

Workbook that owns this sheet, assigned once when the sheet is added to a workbook's sheet collection.

C#
public Workbook Workbook { get; }
Property Value:

The workbook.

Implements: ISheet.Workbook

Methods

Begins a logical undo group so that subsequent commands are undone or redone together as a single user action.

C#
public void BeginUndoGroup()

Creates the view state object that tracks panes, selection, and scroll position for this sheet type.

C#
protected abstract ISheetViewState CreateViewState()
Returns:

ISheetViewState

Releases resources held by the sheet, primarily clearing the workbook reference; call when removing the sheet from a workbook.

C#
public void Dispose()

Implements: IDisposable.Dispose()

Releases managed resources when disposing is true, clearing the workbook reference and preventing reuse.

C#
protected virtual void Dispose(bool disposing)
Parameters:disposingbool

The disposing.

Closes the current logical undo group, allowing the grouped commands to be undone or redone as a unit.

C#
public void EndUndoGroup()

Raises the IsProtectedChanged event, notifying subscribers that protection status has toggled.

C#
protected virtual void OnIsProtectedChanged()

Raises the LayoutInvalidated event, signaling that UI should recalculate positions and sizes.

C#
protected virtual void OnLayoutInvalidated()

Re-enables layout invalidation notifications and raises any deferred LayoutInvalidated event if changes occurred.

C#
protected virtual void ResumeLayoutUpdate()

Defers layout invalidation notifications until ResumeLayoutUpdate is called, improving performance during batch modifications.

C#
protected virtual void SuspendLayoutUpdate()

Events

Raised when sheet protection is applied or removed, signaling that UI should update editing controls.

C#
public event EventHandler IsProtectedChanged

Raised when sheet content changes require layout recalculation, unless layout updates are suspended.

C#
public event EventHandler LayoutInvalidated

Implements: ISheet.LayoutInvalidated

Raised when the sheet's name changes, allowing UI to refresh tab labels.

C#
public event EventHandler NameChanged