Table of Contents

Class GroupGrid

Namespace
Avalonia.Controls
Assembly
Tripous.Avalonia.Controls.dll

Provides the Avalonia visual surface for a GroupGridEngine.

public class GroupGrid : Control, INotifyPropertyChanged, IDataContextProvider, ILogical, IThemeVariantHost, IResourceHost, IResourceNode, IStyleHost, ISetLogicalParent, ISetInheritanceParent, ISupportInitialize, INamed, IInputElement, IDataTemplateHost, ISetterValue, IGroupGridDropDownEditorHost
Inheritance
AvaloniaObject
Animatable
StyledElement
Visual
Layoutable
Interactive
InputElement
Control
GroupGrid
Implements
IDataContextProvider
ILogical
IThemeVariantHost
IResourceHost
IResourceNode
IStyleHost
ISetLogicalParent
ISetInheritanceParent
INamed
IInputElement
IDataTemplateHost
ISetterValue
Inherited Members
Control.FocusAdornerProperty
Control.TagProperty
Control.ContextMenuProperty
Control.ContextFlyoutProperty
Control.RequestBringIntoViewEvent
Control.LoadedEvent
Control.UnloadedEvent
Control.SizeChangedEvent
Control.GetTemplateFocusTarget()
Control.OnLoaded(RoutedEventArgs)
Control.OnUnloaded(RoutedEventArgs)
Control.OnSizeChanged(SizeChangedEventArgs)
Control.OnAttachedToVisualTreeCore(VisualTreeAttachmentEventArgs)
Control.OnDetachedFromVisualTreeCore(VisualTreeAttachmentEventArgs)
Control.OnGotFocus(FocusChangedEventArgs)
Control.OnLostFocus(FocusChangedEventArgs)
Control.OnCreateAutomationPeer()
Control.OnKeyUp(KeyEventArgs)
Control.FocusAdorner
Control.DataTemplates
Control.ContextMenu
Control.ContextFlyout
Control.IsLoaded
Control.Tag
Control.Loaded
Control.Unloaded
Control.SizeChanged
InputElement.FocusableProperty
InputElement.IsEnabledProperty
InputElement.IsEffectivelyEnabledProperty
InputElement.CursorProperty
InputElement.IsKeyboardFocusWithinProperty
InputElement.IsFocusedProperty
InputElement.IsHitTestVisibleProperty
InputElement.IsPointerOverProperty
InputElement.IsTabStopProperty
InputElement.GotFocusEvent
InputElement.GettingFocusEvent
InputElement.LostFocusEvent
InputElement.LosingFocusEvent
InputElement.KeyDownEvent
InputElement.KeyUpEvent
InputElement.TabIndexProperty
InputElement.TextInputEvent
InputElement.TextInputMethodClientRequestedEvent
InputElement.PointerEnteredEvent
InputElement.PointerExitedEvent
InputElement.PointerMovedEvent
InputElement.PointerPressedEvent
InputElement.PointerReleasedEvent
InputElement.PointerCaptureLostEvent
InputElement.PointerWheelChangedEvent
InputElement.ContextRequestedEvent
InputElement.ContextCanceledEvent
InputElement.IsHoldingEnabledProperty
InputElement.IsHoldWithMouseEnabledProperty
InputElement.PinchEvent
InputElement.PinchEndedEvent
InputElement.PullGestureEvent
InputElement.PullGestureEndedEvent
InputElement.SwipeGestureEvent
InputElement.SwipeGestureEndedEvent
InputElement.ScrollGestureEvent
InputElement.ScrollGestureInertiaStartingEvent
InputElement.ScrollGestureEndedEvent
InputElement.PointerTouchPadGestureMagnifyEvent
InputElement.PointerTouchPadGestureRotateEvent
InputElement.PointerTouchPadGestureSwipeEvent
InputElement.TappedEvent
InputElement.RightTappedEvent
InputElement.HoldingEvent
InputElement.DoubleTappedEvent
InputElement.Focus(NavigationMethod, KeyModifiers)
InputElement.OnAccessKey(RoutedEventArgs)
InputElement.OnGettingFocus(FocusChangingEventArgs)
InputElement.OnLosingFocus(FocusChangingEventArgs)
InputElement.OnPointerEntered(PointerEventArgs)
InputElement.GetNextTabStopOverride()
InputElement.GetPreviousTabStopOverride()
InputElement.GetFirstFocusableElementOverride()
InputElement.GetLastFocusableElementOverride()
InputElement.OnPointerCaptureLost(PointerCaptureLostEventArgs)
InputElement.OnTapped(TappedEventArgs)
InputElement.OnRightTapped(TappedEventArgs)
InputElement.OnDoubleTapped(TappedEventArgs)
InputElement.OnHolding(HoldingRoutedEventArgs)
InputElement.UpdateIsEffectivelyEnabled()
InputElement.GetIsHoldingEnabled(StyledElement)
InputElement.GetIsHoldWithMouseEnabled(StyledElement)
InputElement.Focusable
InputElement.IsEnabled
InputElement.Cursor
InputElement.IsKeyboardFocusWithin
InputElement.IsFocused
InputElement.IsHitTestVisible
InputElement.IsPointerOver
InputElement.IsTabStop
InputElement.IsEffectivelyEnabled
InputElement.TabIndex
InputElement.KeyBindings
InputElement.IsEnabledCore
InputElement.GestureRecognizers
InputElement.GotFocus
InputElement.GettingFocus
InputElement.LostFocus
InputElement.LosingFocus
InputElement.KeyDown
InputElement.KeyUp
InputElement.TextInput
InputElement.TextInputMethodClientRequested
InputElement.PointerEntered
InputElement.PointerExited
InputElement.PointerMoved
InputElement.PointerPressed
InputElement.PointerReleased
InputElement.PointerCaptureLost
InputElement.PointerWheelChanged
InputElement.ContextRequested
InputElement.ContextCanceled
InputElement.Pinch
InputElement.PinchEnded
InputElement.PullGesture
InputElement.PullGestureEnded
InputElement.ScrollGesture
InputElement.ScrollGestureInertiaStarting
InputElement.ScrollGestureEnded
InputElement.PointerTouchPadGestureMagnify
InputElement.PointerTouchPadGestureRotate
InputElement.SwipeGesture
InputElement.SwipeGestureEnded
InputElement.PointerTouchPadGestureSwipe
InputElement.Tapped
InputElement.RightTapped
InputElement.Holding
InputElement.DoubleTapped
Interactive.RaiseEvent(RoutedEventArgs)
Interactive.BuildEventRoute(RoutedEvent)
Layoutable.DesiredSizeProperty
Layoutable.WidthProperty
Layoutable.HeightProperty
Layoutable.MinWidthProperty
Layoutable.MaxWidthProperty
Layoutable.MinHeightProperty
Layoutable.MaxHeightProperty
Layoutable.MarginProperty
Layoutable.HorizontalAlignmentProperty
Layoutable.VerticalAlignmentProperty
Layoutable.UseLayoutRoundingProperty
Layoutable.UpdateLayout()
Layoutable.ApplyTemplate()
Layoutable.Measure(Size)
Layoutable.Arrange(Rect)
Layoutable.InvalidateMeasure()
Layoutable.InvalidateArrange()
Layoutable.AffectsMeasure<T>(params AvaloniaProperty[])
Layoutable.AffectsArrange<T>(params AvaloniaProperty[])
Layoutable.MeasureCore(Size)
Layoutable.ArrangeCore(Rect)
Layoutable.OnMeasureInvalidated()
Layoutable.OnVisualParentChanged(Visual, Visual)
Layoutable.Width
Layoutable.Height
Layoutable.MinWidth
Layoutable.MaxWidth
Layoutable.MinHeight
Layoutable.MaxHeight
Layoutable.Margin
Layoutable.HorizontalAlignment
Layoutable.VerticalAlignment
Layoutable.DesiredSize
Layoutable.IsMeasureValid
Layoutable.IsArrangeValid
Layoutable.UseLayoutRounding
Layoutable.EffectiveViewportChanged
Layoutable.LayoutUpdated
Visual.BoundsProperty
Visual.ClipToBoundsProperty
Visual.ClipProperty
Visual.IsVisibleProperty
Visual.OpacityProperty
Visual.OpacityMaskProperty
Visual.CacheModeProperty
Visual.EffectProperty
Visual.HasMirrorTransformProperty
Visual.RenderTransformProperty
Visual.RenderTransformOriginProperty
Visual.FlowDirectionProperty
Visual.VisualParentProperty
Visual.ZIndexProperty
Visual.GetFlowDirection(Visual)
Visual.SetFlowDirection(Visual, FlowDirection)
Visual.InvalidateVisual()
Visual.AffectsRender<T>(params AvaloniaProperty[])
Visual.OnAttachedToVisualTree(VisualTreeAttachmentEventArgs)
Visual.OnDetachedFromVisualTree(VisualTreeAttachmentEventArgs)
Visual.InvalidateMirrorTransform()
Visual.Bounds
Visual.ClipToBounds
Visual.Clip
Visual.IsEffectivelyVisible
Visual.IsVisible
Visual.Opacity
Visual.OpacityMask
Visual.CacheMode
Visual.Effect
Visual.HasMirrorTransform
Visual.RenderTransform
Visual.RenderTransformOrigin
Visual.FlowDirection
Visual.ZIndex
Visual.VisualChildren
Visual.VisualRoot
Visual.BypassFlowDirectionPolicies
Visual.AttachedToVisualTree
Visual.DetachedFromVisualTree
StyledElement.DataContextProperty
StyledElement.NameProperty
StyledElement.ParentProperty
StyledElement.TemplatedParentProperty
StyledElement.ThemeProperty
StyledElement.BeginInit()
StyledElement.EndInit()
StyledElement.ApplyStyling()
StyledElement.InitializeIfNeeded()
StyledElement.OnAttachedToLogicalTree(LogicalTreeAttachmentEventArgs)
StyledElement.OnDetachedFromLogicalTree(LogicalTreeAttachmentEventArgs)
StyledElement.OnDataContextBeginUpdate()
StyledElement.OnDataContextEndUpdate()
StyledElement.OnInitialized()
StyledElement.Name
StyledElement.Classes
StyledElement.DataContext
StyledElement.IsInitialized
StyledElement.Styles
StyledElement.StyleKey
StyledElement.Resources
StyledElement.TemplatedParent
StyledElement.Theme
StyledElement.LogicalChildren
StyledElement.PseudoClasses
StyledElement.StyleKeyOverride
StyledElement.Parent
StyledElement.ActualThemeVariant
StyledElement.AttachedToLogicalTree
StyledElement.DetachedFromLogicalTree
StyledElement.DataContextChanged
StyledElement.Initialized
StyledElement.ResourcesChanged
StyledElement.ActualThemeVariantChanged
Animatable.TransitionsProperty
Animatable.OnPropertyChangedCore(AvaloniaPropertyChangedEventArgs)
Animatable.Transitions
AvaloniaObject.CheckAccess()
AvaloniaObject.VerifyAccess()
AvaloniaObject.ClearValue(AvaloniaProperty)
AvaloniaObject.ClearValue<T>(AvaloniaProperty<T>)
AvaloniaObject.ClearValue<T>(StyledProperty<T>)
AvaloniaObject.ClearValue<T>(DirectPropertyBase<T>)
AvaloniaObject.GetHashCode()
AvaloniaObject.GetValue(AvaloniaProperty)
AvaloniaObject.GetValue<T>(StyledProperty<T>)
AvaloniaObject.GetValue<T>(DirectPropertyBase<T>)
AvaloniaObject.GetBaseValue<T>(StyledProperty<T>)
AvaloniaObject.IsAnimating(AvaloniaProperty)
AvaloniaObject.IsSet(AvaloniaProperty)
AvaloniaObject.SetValue<T>(StyledProperty<T>, T, BindingPriority)
AvaloniaObject.SetValue<T>(DirectPropertyBase<T>, T)
AvaloniaObject.SetCurrentValue<T>(StyledProperty<T>, T)
AvaloniaObject.Bind(AvaloniaProperty, BindingBase)
AvaloniaObject.CoerceValue(AvaloniaProperty)
AvaloniaObject.RaisePropertyChanged<T>(DirectPropertyBase<T>, T, T)
AvaloniaObject.SetAndRaise<T>(DirectPropertyBase<T>, ref T, T)
AvaloniaObject.InheritanceParent
AvaloniaObject.this[AvaloniaProperty]
AvaloniaObject.this[IndexerDescriptor]
AvaloniaObject.Dispatcher
AvaloniaObject.PropertyChanged
Extension Methods

Constructors

GroupGrid()

Initializes a new instance of the GroupGrid class.

public GroupGrid()

Fields

ActiveFilterBrushProperty

Defines the ActiveFilterBrush property.

public static readonly StyledProperty<IBrush> ActiveFilterBrushProperty

Field Value

StyledProperty<IBrush>

ColumnDragBrushProperty

Defines the ColumnDragBrush property.

public static readonly StyledProperty<IBrush> ColumnDragBrushProperty

Field Value

StyledProperty<IBrush>

CurrentBorderBrushProperty

Defines the CurrentBorderBrush property.

public static readonly StyledProperty<IBrush> CurrentBorderBrushProperty

Field Value

StyledProperty<IBrush>

CurrentBrushProperty

Defines the CurrentBrush property.

public static readonly StyledProperty<IBrush> CurrentBrushProperty

Field Value

StyledProperty<IBrush>

DisabledTextBrushProperty

Defines the DisabledTextBrush property.

public static readonly StyledProperty<IBrush> DisabledTextBrushProperty

Field Value

StyledProperty<IBrush>

EditingBorderBrushProperty

Defines the EditingBorderBrush property.

public static readonly StyledProperty<IBrush> EditingBorderBrushProperty

Field Value

StyledProperty<IBrush>

EditingBrushProperty

Defines the EditingBrush property.

public static readonly StyledProperty<IBrush> EditingBrushProperty

Field Value

StyledProperty<IBrush>

FilterBrushProperty

Defines the FilterBrush property.

public static readonly StyledProperty<IBrush> FilterBrushProperty

Field Value

StyledProperty<IBrush>

FilteredCellBrushProperty

Defines the FilteredCellBrush property.

public static readonly StyledProperty<IBrush> FilteredCellBrushProperty

Field Value

StyledProperty<IBrush>

FooterBrushProperty

Defines the FooterBrush property.

public static readonly StyledProperty<IBrush> FooterBrushProperty

Field Value

StyledProperty<IBrush>

GridBackgroundBrushProperty

Defines the GridBackgroundBrush property.

public static readonly StyledProperty<IBrush> GridBackgroundBrushProperty

Field Value

StyledProperty<IBrush>

GridLineBrushProperty

Defines the GridLineBrush property.

public static readonly StyledProperty<IBrush> GridLineBrushProperty

Field Value

StyledProperty<IBrush>

GroupPanelBrushProperty

Defines the GroupPanelBrush property.

public static readonly StyledProperty<IBrush> GroupPanelBrushProperty

Field Value

StyledProperty<IBrush>

GroupRowBrushProperty

Defines the GroupRowBrush property.

public static readonly StyledProperty<IBrush> GroupRowBrushProperty

Field Value

StyledProperty<IBrush>

GroupSummaryBrushProperty

Defines the GroupSummaryBrush property.

public static readonly StyledProperty<IBrush> GroupSummaryBrushProperty

Field Value

StyledProperty<IBrush>

HeaderBrushProperty

Defines the HeaderBrush property.

public static readonly StyledProperty<IBrush> HeaderBrushProperty

Field Value

StyledProperty<IBrush>

MutedTextBrushProperty

Defines the MutedTextBrush property.

public static readonly StyledProperty<IBrush> MutedTextBrushProperty

Field Value

StyledProperty<IBrush>

ResizeGuideBrushProperty

Defines the ResizeGuideBrush property.

public static readonly StyledProperty<IBrush> ResizeGuideBrushProperty

Field Value

StyledProperty<IBrush>

ScrollBarThumbBrushProperty

Defines the ScrollBarThumbBrush property.

public static readonly StyledProperty<IBrush> ScrollBarThumbBrushProperty

Field Value

StyledProperty<IBrush>

ScrollBarTrackBrushProperty

Defines the ScrollBarTrackBrush property.

public static readonly StyledProperty<IBrush> ScrollBarTrackBrushProperty

Field Value

StyledProperty<IBrush>

SelectedBrushProperty

Defines the SelectedBrush property.

public static readonly StyledProperty<IBrush> SelectedBrushProperty

Field Value

StyledProperty<IBrush>

TextBrushProperty

Defines the TextBrush property.

public static readonly StyledProperty<IBrush> TextBrushProperty

Field Value

StyledProperty<IBrush>

ToolBarBrushProperty

Defines the ToolBarBrush property.

public static readonly StyledProperty<IBrush> ToolBarBrushProperty

Field Value

StyledProperty<IBrush>

ToolButtonBrushProperty

Defines the ToolButtonBrush property.

public static readonly StyledProperty<IBrush> ToolButtonBrushProperty

Field Value

StyledProperty<IBrush>

ToolButtonHoverBrushProperty

Defines the ToolButtonHoverBrush property.

public static readonly StyledProperty<IBrush> ToolButtonHoverBrushProperty

Field Value

StyledProperty<IBrush>

Properties

ActiveFilterBrush

Gets or sets the active filter cell background brush.

public IBrush ActiveFilterBrush { get; set; }

Property Value

IBrush

AreIdColumnsVisible

Gets or sets a value indicating whether columns named Id or ending with Id are visible.

public bool AreIdColumnsVisible { get; set; }

Property Value

bool

AutoGenerateColumns

Gets or sets a value indicating whether columns are generated from public item properties or data-view columns when columns are empty.

public bool AutoGenerateColumns { get; set; }

Property Value

bool

ColumnDragBrush

Gets or sets the column drag ghost brush.

public IBrush ColumnDragBrush { get; set; }

Property Value

IBrush

Columns

Gets the grid columns.

public ObservableCollection<GroupGridColumn> Columns { get; }

Property Value

ObservableCollection<GroupGridColumn>

CurrentBorderBrush

Gets or sets the current cell border brush.

public IBrush CurrentBorderBrush { get; set; }

Property Value

IBrush

CurrentBrush

Gets or sets the current cell background brush.

public IBrush CurrentBrush { get; set; }

Property Value

IBrush

CurrentCell

Gets the current cell.

public GroupGridCell CurrentCell { get; }

Property Value

GroupGridCell

CurrentRow

Gets the current adapter row object, or null when there is no current row.

public object CurrentRow { get; }

Property Value

object

CurrentRowIndex

Gets the current adapter row index, or -1 when there is no current row.

public int CurrentRowIndex { get; }

Property Value

int

DataAdapter

Gets or sets the data adapter.

public IGroupGridDataAdapter DataAdapter { get; set; }

Property Value

IGroupGridDataAdapter

DisabledTextBrush

Gets or sets the disabled text brush.

public IBrush DisabledTextBrush { get; set; }

Property Value

IBrush

DropDownPlacementMode

Gets or sets how in-place editor drop-down controls are hosted.

public GroupGridDropDownPlacementMode DropDownPlacementMode { get; set; }

Property Value

GroupGridDropDownPlacementMode

EditingBorderBrush

Gets or sets the editing cell border brush.

public IBrush EditingBorderBrush { get; set; }

Property Value

IBrush

EditingBrush

Gets or sets the editing cell background brush.

public IBrush EditingBrush { get; set; }

Property Value

IBrush

EditingCell

Gets the editing cell.

public GroupGridCell EditingCell { get; }

Property Value

GroupGridCell

EmptyGroupPanelText

Gets or sets the text displayed in the group panel when no columns are grouped.

public string EmptyGroupPanelText { get; set; }

Property Value

string

Engine

Gets or sets the group grid engine rendered by this control.

public GroupGridEngine Engine { get; set; }

Property Value

GroupGridEngine

FilterBrush

Gets or sets the filter row background brush.

public IBrush FilterBrush { get; set; }

Property Value

IBrush

FilterCount

Gets the number of active column filters.

public int FilterCount { get; }

Property Value

int

FilteredCellBrush

Gets or sets the filtered cell background brush.

public IBrush FilteredCellBrush { get; set; }

Property Value

IBrush

FirstVisibleNodeIndex

Gets the first visible node index in the virtual viewport.

public int FirstVisibleNodeIndex { get; }

Property Value

int

FixedBandHeight

Gets the total height of the fixed non-body bands.

public double FixedBandHeight { get; }

Property Value

double

FooterBrush

Gets or sets the footer summary background brush.

public IBrush FooterBrush { get; set; }

Property Value

IBrush

GridBackgroundBrush

Gets or sets the grid body background brush.

public IBrush GridBackgroundBrush { get; set; }

Property Value

IBrush

GridLineBrush

Gets or sets the grid line brush.

public IBrush GridLineBrush { get; set; }

Property Value

IBrush

GroupColumns

Gets the grouped columns in grouping order.

public IReadOnlyList<GroupGridColumn> GroupColumns { get; }

Property Value

IReadOnlyList<GroupGridColumn>

GroupPanelBrush

Gets or sets the group panel background brush.

public IBrush GroupPanelBrush { get; set; }

Property Value

IBrush

GroupRowBrush

Gets or sets the group row background brush.

public IBrush GroupRowBrush { get; set; }

Property Value

IBrush

GroupSummaryBrush

Gets or sets the group summary row background brush.

public IBrush GroupSummaryBrush { get; set; }

Property Value

IBrush

HasCurrentCell

Gets a value indicating whether the grid has a current cell.

public bool HasCurrentCell { get; }

Property Value

bool

HasFilters

Gets a value indicating whether any column filter is active.

public bool HasFilters { get; }

Property Value

bool

HasSelectedCell

Gets a value indicating whether the grid has a selected cell.

public bool HasSelectedCell { get; }

Property Value

bool

HeaderBrush

Gets or sets the column header background brush.

public IBrush HeaderBrush { get; set; }

Property Value

IBrush

HorizontalOffset

Gets the horizontal scroll offset in pixels.

public double HorizontalOffset { get; }

Property Value

double

IsColumnHeadersVisible

Gets or sets a value indicating whether column headers are visible.

public bool IsColumnHeadersVisible { get; set; }

Property Value

bool

IsColumnManagerMenuItemVisible

Gets or sets a value indicating whether the column manager menu item is visible in the column context menu.

public bool IsColumnManagerMenuItemVisible { get; set; }

Property Value

bool

IsDeleteButtonVisible

Gets or sets a value indicating whether the default delete toolbar button is visible.

public bool IsDeleteButtonVisible { get; set; }

Property Value

bool

IsEditButtonVisible

Gets or sets a value indicating whether the default edit toolbar button is visible.

public bool IsEditButtonVisible { get; set; }

Property Value

bool

IsEditing

Gets a value indicating whether the grid is editing a cell.

public bool IsEditing { get; }

Property Value

bool

IsFilterPanelVisible

Gets or sets a value indicating whether the filter panel band is visible.

public bool IsFilterPanelVisible { get; set; }

Property Value

bool

IsGroupPanelVisible

Gets or sets a value indicating whether the group panel band is visible.

public bool IsGroupPanelVisible { get; set; }

Property Value

bool

IsInsertButtonVisible

Gets or sets a value indicating whether the default insert toolbar button is visible.

public bool IsInsertButtonVisible { get; set; }

Property Value

bool

IsReadOnly

Gets or sets a value indicating whether editing is disabled for the whole grid.

public bool IsReadOnly { get; set; }

Property Value

bool

IsSettingsMenuItemsVisible

Gets or sets a value indicating whether the save/load settings menu items are visible in the column context menu.

public bool IsSettingsMenuItemsVisible { get; set; }

Property Value

bool

IsToolBarVisible

Gets or sets a value indicating whether the toolbar band is visible.

public bool IsToolBarVisible { get; set; }

Property Value

bool

IsTotalsSummaryVisible

Gets or sets a value indicating whether the totals summary band is visible.

public bool IsTotalsSummaryVisible { get; set; }

Property Value

bool

ItemsSource

Gets or sets an item source that is a DataTable, DataView, or implements IList<T>. When a DataTable is assigned, its DefaultView is used.

public object ItemsSource { get; set; }

Property Value

object

LastDropDownRect

Gets the last arranged drop-down host rectangle used for drop-down geometry diagnostics.

public Rect LastDropDownRect { get; }

Property Value

Rect

LastEditorRect

Gets the last arranged editor rectangle used for drop-down geometry diagnostics.

public Rect LastEditorRect { get; }

Property Value

Rect

LayoutMetrics

Gets the layout metrics used by the grid.

public GroupGridLayoutMetrics LayoutMetrics { get; }

Property Value

GroupGridLayoutMetrics

MutedTextBrush

Gets or sets the muted text brush.

public IBrush MutedTextBrush { get; set; }

Property Value

IBrush

ResizeGuideBrush

Gets or sets the resize and drop guide brush.

public IBrush ResizeGuideBrush { get; set; }

Property Value

IBrush

RowCount

Gets the number of adapter rows.

public int RowCount { get; }

Property Value

int

ScrollBarThumbBrush

Gets or sets the scrollbar thumb brush.

public IBrush ScrollBarThumbBrush { get; set; }

Property Value

IBrush

ScrollBarTrackBrush

Gets or sets the scrollbar track brush.

public IBrush ScrollBarTrackBrush { get; set; }

Property Value

IBrush

SelectedBrush

Gets or sets the selected row or cell background brush.

public IBrush SelectedBrush { get; set; }

Property Value

IBrush

SelectedCell

Gets the selected cell.

public GroupGridCell SelectedCell { get; }

Property Value

GroupGridCell

SettingsSuggestedFileName

Gets or sets the suggested file name used by the built-in save settings file picker.

public string SettingsSuggestedFileName { get; set; }

Property Value

string

SortColumn

Gets the sorted column, or null when sorting is not active.

public GroupGridColumn SortColumn { get; }

Property Value

GroupGridColumn

SortDirection

Gets the active sort direction.

public GroupGridSortDirection SortDirection { get; }

Property Value

GroupGridSortDirection

TextBrush

Gets or sets the primary text brush.

public IBrush TextBrush { get; set; }

Property Value

IBrush

ToolBarBrush

Gets or sets the toolbar background brush.

public IBrush ToolBarBrush { get; set; }

Property Value

IBrush

ToolButtonBrush

Gets or sets the toolbar button background brush.

public IBrush ToolButtonBrush { get; set; }

Property Value

IBrush

ToolButtonHoverBrush

Gets or sets the toolbar button hover background brush.

public IBrush ToolButtonHoverBrush { get; set; }

Property Value

IBrush

ToolButtons

Gets the toolbar buttons. The built-in buttons are named Insert, Delete, and Edit.

public ObservableCollection<GroupGridToolButton> ToolButtons { get; }

Property Value

ObservableCollection<GroupGridToolButton>

Viewport

Gets the viewport window into the logical visible-node list.

public GroupGridViewport Viewport { get; }

Property Value

GroupGridViewport

VisibleNodeCount

Gets the number of visible projected nodes.

public int VisibleNodeCount { get; }

Property Value

int

Methods

AddButton(GroupGridToolButton, GroupGridToolButtonAlignment)

Adds a toolbar button to the requested side.

public GroupGridToolButton AddButton(GroupGridToolButton Button, GroupGridToolButtonAlignment Alignment = GroupGridToolButtonAlignment.Left)

Parameters

Button GroupGridToolButton

The button to add.

Alignment GroupGridToolButtonAlignment

The toolbar side.

Returns

GroupGridToolButton

The added button.

AddButton(GroupGridToolButtonAlignment, string, string, string)

Creates and adds a toolbar button to the requested side.

public GroupGridToolButton AddButton(GroupGridToolButtonAlignment Alignment, string Name, string Text, string ToolTip = "")

Parameters

Alignment GroupGridToolButtonAlignment

The toolbar side.

Name string

The button name.

Text string

The compact display text.

ToolTip string

The tooltip text.

Returns

GroupGridToolButton

The added button.

ApplySettings(GroupGridSettings)

Applies a serializable settings object to the current grid layout.

public void ApplySettings(GroupGridSettings Settings)

Parameters

Settings GroupGridSettings

The grid settings.

ArrangeOverride(Size)

Positions child elements as part of a layout pass.

protected override Size ArrangeOverride(Size FinalSize)

Parameters

FinalSize Size

Returns

Size

The actual size used.

BeginEdit()

Begins editing the current cell.

public bool BeginEdit()

Returns

bool

True if editing started; otherwise, false.

BestFitColumn(GroupGridColumn, int)

Resizes a visible value column to fit its header, filter text, and projected data row text.

public bool BestFitColumn(GroupGridColumn Column, int MaxRows = 2500)

Parameters

Column GroupGridColumn

The grid column.

MaxRows int

The maximum number of projected data rows to measure. Use zero or a negative value to measure all rows.

Returns

bool

True if the column width changed; otherwise, false.

BestFitColumn(string, int)

Resizes a visible value column to fit its header, filter text, and projected data row text.

public bool BestFitColumn(string ColumnName, int MaxRows = 2500)

Parameters

ColumnName string

The column name.

MaxRows int

The maximum number of projected data rows to measure. Use zero or a negative value to measure all rows.

Returns

bool

True if the column was found and its width changed; otherwise, false.

BestFitColumns(int)

Resizes all visible value columns to fit their headers, filter text, and projected data row text.

public int BestFitColumns(int MaxRows = 2500)

Parameters

MaxRows int

The maximum number of projected data rows to measure per column. Use zero or a negative value to measure all rows.

Returns

int

The number of columns whose width changed.

CanDeleteCurrentRow()

Returns true when the current row can be deleted.

public bool CanDeleteCurrentRow()

Returns

bool

True when the current row can be deleted; otherwise, false.

CanInsertRow()

Returns true when a new row can be inserted after the current row.

public bool CanInsertRow()

Returns

bool

True when a row can be inserted; otherwise, false.

CancelEdit()

Cancels the current edit.

public bool CancelEdit()

Returns

bool

True if an edit was canceled; otherwise, false.

ClearColumnFilter(GroupGridColumn)

Clears the text filter for a column.

public bool ClearColumnFilter(GroupGridColumn Column)

Parameters

Column GroupGridColumn

The grid column.

Returns

bool

True if the filter changed; otherwise, false.

ClearCurrentCell()

Clears the current cell.

public void ClearCurrentCell()

ClearFilters()

Clears all column filters.

public bool ClearFilters()

Returns

bool

True if any filter was cleared; otherwise, false.

ClearSelection()

Clears the selected cell.

public void ClearSelection()

ClearSort()

Clears the active column sorting.

public bool ClearSort()

Returns

bool

True if sorting changed; otherwise, false.

CommitEdit(object)

Commits the edited value.

public bool CommitEdit(object Value)

Parameters

Value object

The editor value.

Returns

bool

True if the edit was committed; otherwise, false.

CreateExportSnapshot()

Creates an export snapshot from the current visible grid projection.

public GroupGridExportSnapshot CreateExportSnapshot()

Returns

GroupGridExportSnapshot

The export snapshot.

CreateSettings(string)

Creates a serializable settings object from the current grid layout.

public GroupGridSettings CreateSettings(string Name = "Default")

Parameters

Name string

The settings name.

Returns

GroupGridSettings

The grid settings.

DeleteCurrentRow()

Deletes the current row.

public bool DeleteCurrentRow()

Returns

bool

True if a row was deleted; otherwise, false.

GetAllColumns()

Returns all columns in grid column order.

public IReadOnlyList<GroupGridColumn> GetAllColumns()

Returns

IReadOnlyList<GroupGridColumn>

A snapshot list with all columns.

GetColumnFilter(GroupGridColumn)

Returns the text filter applied to a column.

public string GetColumnFilter(GroupGridColumn Column)

Parameters

Column GroupGridColumn

The grid column.

Returns

string

The filter text, or an empty string when no filter is applied.

GetGroupedColumns()

Returns grouped columns in grouping order.

public IReadOnlyList<GroupGridColumn> GetGroupedColumns()

Returns

IReadOnlyList<GroupGridColumn>

A snapshot list with grouped columns.

GetHiddenColumns()

Returns hidden columns in grid column order.

public IReadOnlyList<GroupGridColumn> GetHiddenColumns()

Returns

IReadOnlyList<GroupGridColumn>

A snapshot list with hidden columns.

GetToolButton(string)

Returns a toolbar button by name.

public GroupGridToolButton GetToolButton(string Name)

Parameters

Name string

The button name.

Returns

GroupGridToolButton

The toolbar button, or null when not found.

GetVisibleColumns()

Returns the visible columns in display order.

public IReadOnlyList<GroupGridColumn> GetVisibleColumns()

Returns

IReadOnlyList<GroupGridColumn>

The visible columns.

GetVisibleOrderedColumns()

Returns visible value columns in the order they are displayed in the header band.

public IReadOnlyList<GroupGridColumn> GetVisibleOrderedColumns()

Returns

IReadOnlyList<GroupGridColumn>

A snapshot list with visible value columns.

GetVisibleValueColumns()

Returns the visible value columns in display order.

public IReadOnlyList<GroupGridColumn> GetVisibleValueColumns()

Returns

IReadOnlyList<GroupGridColumn>

The visible value columns.

GroupColumn(GroupGridColumn, int)

Adds a column to the grouping list.

public bool GroupColumn(GroupGridColumn Column, int GroupIndex = -1)

Parameters

Column GroupGridColumn

The grid column.

GroupIndex int

The group index, or -1 to append.

Returns

bool

True if the column was grouped; otherwise, false.

HitTest(Point)

Performs a control-level hit test using visible bands, scrollbars, fixed areas, and horizontal scroll offset.

public GroupGridHitTestResult HitTest(Point Point)

Parameters

Point Point

The point in grid coordinates.

Returns

GroupGridHitTestResult

The hit-test result.

InsertButtonAfter(string, GroupGridToolButton)

Inserts a toolbar button after an existing button.

public bool InsertButtonAfter(string ExistingButtonName, GroupGridToolButton Button)

Parameters

ExistingButtonName string

The existing button name.

Button GroupGridToolButton

The button to insert.

Returns

bool

True if the button was inserted; otherwise, false.

InsertButtonAfter(string, string, string, string)

Creates and inserts a toolbar button after an existing button.

public GroupGridToolButton InsertButtonAfter(string ExistingButtonName, string Name, string Text, string ToolTip = "")

Parameters

ExistingButtonName string

The existing button name.

Name string

The button name.

Text string

The compact display text.

ToolTip string

The tooltip text.

Returns

GroupGridToolButton

The inserted button, or null when the existing button is not found.

InsertButtonBefore(string, GroupGridToolButton)

Inserts a toolbar button before an existing button.

public bool InsertButtonBefore(string ExistingButtonName, GroupGridToolButton Button)

Parameters

ExistingButtonName string

The existing button name.

Button GroupGridToolButton

The button to insert.

Returns

bool

True if the button was inserted; otherwise, false.

InsertButtonBefore(string, string, string, string)

Creates and inserts a toolbar button before an existing button.

public GroupGridToolButton InsertButtonBefore(string ExistingButtonName, string Name, string Text, string ToolTip = "")

Parameters

ExistingButtonName string

The existing button name.

Name string

The button name.

Text string

The compact display text.

ToolTip string

The tooltip text.

Returns

GroupGridToolButton

The inserted button, or null when the existing button is not found.

InsertRow()

Inserts a new row after the current row.

public bool InsertRow()

Returns

bool

True if a row was inserted; otherwise, false.

LoadSettings(string)

Loads grid settings from a JSON file and applies them to the current grid layout.

public bool LoadSettings(string FilePath)

Parameters

FilePath string

The full file path where settings are loaded from.

Returns

bool

True if settings were loaded and applied; otherwise, false.

MeasureOverride(Size)

Measures the control and its child elements as part of a layout pass.

protected override Size MeasureOverride(Size AvailableSize)

Parameters

AvailableSize Size

Returns

Size

The desired size for the control.

MoveColumn(GroupGridColumn, int)

Moves a column to a new display index in the column collection.

public bool MoveColumn(GroupGridColumn Column, int ColumnIndex)

Parameters

Column GroupGridColumn

The grid column.

ColumnIndex int

The new column index.

Returns

bool

True if the column moved; otherwise, false.

MoveCurrentCell(int, int)

Moves the current cell by visible row and column deltas.

public bool MoveCurrentCell(int RowDelta, int ColumnDelta)

Parameters

RowDelta int

The visible row delta.

ColumnDelta int

The visible column delta.

Returns

bool

True if the current cell moved; otherwise, false.

MoveGroupedColumn(GroupGridColumn, int)

Moves a grouped column to a new group index.

public bool MoveGroupedColumn(GroupGridColumn Column, int GroupIndex)

Parameters

Column GroupGridColumn

The grouped column.

GroupIndex int

The new group index.

Returns

bool

True if the column moved; otherwise, false.

OnKeyDown(KeyEventArgs)

Invoked when an unhandled Avalonia.Input.InputElement.KeyDownEvent reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

protected override void OnKeyDown(KeyEventArgs Args)

Parameters

Args KeyEventArgs

OnPointerExited(PointerEventArgs)

Invoked when an unhandled Avalonia.Input.InputElement.PointerExitedEvent reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

protected override void OnPointerExited(PointerEventArgs Args)

Parameters

Args PointerEventArgs

OnPointerMoved(PointerEventArgs)

Invoked when an unhandled Avalonia.Input.InputElement.PointerMovedEvent reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

protected override void OnPointerMoved(PointerEventArgs Args)

Parameters

Args PointerEventArgs

OnPointerPressed(PointerPressedEventArgs)

Invoked when an unhandled Avalonia.Input.InputElement.PointerPressedEvent reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

protected override void OnPointerPressed(PointerPressedEventArgs Args)

Parameters

Args PointerPressedEventArgs

OnPointerReleased(PointerReleasedEventArgs)

Invoked when an unhandled Avalonia.Input.InputElement.PointerReleasedEvent reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

protected override void OnPointerReleased(PointerReleasedEventArgs Args)

Parameters

Args PointerReleasedEventArgs

OnPointerWheelChanged(PointerWheelEventArgs)

Invoked when an unhandled Avalonia.Input.InputElement.PointerWheelChangedEvent reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

protected override void OnPointerWheelChanged(PointerWheelEventArgs Args)

Parameters

Args PointerWheelEventArgs

OnPropertyChanged(AvaloniaPropertyChangedEventArgs)

Called when a avalonia property changes on the object.

protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs Args)

Parameters

Args AvaloniaPropertyChangedEventArgs

OnTextInput(TextInputEventArgs)

Invoked when an unhandled Avalonia.Input.InputElement.TextInputEvent reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

protected override void OnTextInput(TextInputEventArgs Args)

Parameters

Args TextInputEventArgs

Render(DrawingContext)

Renders the visual to a Avalonia.Media.DrawingContext.

public override void Render(DrawingContext Context)

Parameters

Context DrawingContext

RequestEdit()

Raises the edit requested event.

public void RequestEdit()

SaveExport(GroupGridExporter, string)

Exports the current grid using a specified exporter.

public void SaveExport(GroupGridExporter Exporter, string FilePath)

Parameters

Exporter GroupGridExporter

The exporter.

FilePath string

The full export file path.

SaveSettings(string, string)

Saves the current grid settings to a JSON file.

public void SaveSettings(string FilePath, string Name = "Default")

Parameters

FilePath string

The full file path where settings are saved.

Name string

The settings name.

ScrollCurrentCellIntoView()

Scrolls the current cell into the virtual viewport.

public bool ScrollCurrentCellIntoView()

Returns

bool

True if the viewport changed; otherwise, false.

ScrollToRow(int)

Scrolls an adapter row into the virtual viewport.

public bool ScrollToRow(int RowIndex)

Parameters

RowIndex int

The adapter row index.

Returns

bool

True if the row exists in the current projection and scrolling succeeded or was not needed; otherwise, false.

SelectCurrentCell()

Selects the current cell.

public bool SelectCurrentCell()

Returns

bool

True if the selected cell changed; otherwise, false.

SetColumnFilter(GroupGridColumn, string)

Sets the contains-text filter for a column.

public bool SetColumnFilter(GroupGridColumn Column, string FilterText)

Parameters

Column GroupGridColumn

The grid column.

FilterText string

The filter text.

Returns

bool

True if the filter changed; otherwise, false.

SetColumnReadOnly(string, bool)

Sets a column read-only state by field name.

public bool SetColumnReadOnly(string FieldName, bool IsReadOnly)

Parameters

FieldName string

The column field name.

IsReadOnly bool

True to make the column read-only; false to make it editable.

Returns

bool

True if the column read-only state changed; otherwise, false.

SetColumnVisible(GroupGridColumn, bool)

Shows or hides a column.

public bool SetColumnVisible(GroupGridColumn Column, bool IsVisible)

Parameters

Column GroupGridColumn

The grid column.

IsVisible bool

True to show the column; false to hide it.

Returns

bool

True if the column visibility changed; otherwise, false.

SetColumnVisible(string, bool)

Shows or hides a column by field name.

public bool SetColumnVisible(string FieldName, bool IsVisible)

Parameters

FieldName string

The column field name.

IsVisible bool

True to show the column; false to hide it.

Returns

bool

True if the column visibility changed; otherwise, false.

SetColumnsReadOnly(string[], bool)

Sets columns read-only state by field name.

public bool SetColumnsReadOnly(string[] FieldNames, bool IsReadOnly)

Parameters

FieldNames string[]

The column field names.

IsReadOnly bool

True to make the columns read-only; false to make them editable.

Returns

bool

True if any column read-only state changed; otherwise, false.

SetColumnsVisible(string[], bool)

Shows or hides columns by field name.

public bool SetColumnsVisible(string[] FieldNames, bool IsVisible)

Parameters

FieldNames string[]

The column field names.

IsVisible bool

True to show the columns; false to hide them.

Returns

bool

True if any column visibility changed; otherwise, false.

SetCurrentCell(GroupGridCell)

Sets the current cell.

public bool SetCurrentCell(GroupGridCell Cell)

Parameters

Cell GroupGridCell

The current cell.

Returns

bool

True if the current cell changed; otherwise, false.

SetCurrentCell(int, GroupGridColumn)

Sets the current cell by row index and column.

public bool SetCurrentCell(int RowIndex, GroupGridColumn Column)

Parameters

RowIndex int

The adapter row index.

Column GroupGridColumn

The grid column.

Returns

bool

True if the current cell changed; otherwise, false.

SetFirstVisibleNodeIndex(int)

Sets the first visible node index in the virtual viewport.

public bool SetFirstVisibleNodeIndex(int VisibleNodeIndex)

Parameters

VisibleNodeIndex int

The first visible node index.

Returns

bool

True if the viewport changed; otherwise, false.

SetGroupExpanded(int, bool)

Sets the expanded state of a group node by visible-node index.

public bool SetGroupExpanded(int VisibleNodeIndex, bool IsExpanded)

Parameters

VisibleNodeIndex int

The visible-node index.

IsExpanded bool

True to expand; false to collapse.

Returns

bool

True if the group state changed; otherwise, false.

SetHorizontalOffset(double)

Sets the horizontal scroll offset in pixels.

public bool SetHorizontalOffset(double HorizontalOffset)

Parameters

HorizontalOffset double

The horizontal scroll offset.

Returns

bool

True if the offset changed; otherwise, false.

SetSelectedCell(GroupGridCell)

Sets the selected cell.

public bool SetSelectedCell(GroupGridCell Cell)

Parameters

Cell GroupGridCell

The selected cell.

Returns

bool

True if the selected cell changed; otherwise, false.

ToggleGroupExpanded(int)

Toggles the expanded state of a group node by visible-node index.

public bool ToggleGroupExpanded(int VisibleNodeIndex)

Parameters

VisibleNodeIndex int

The visible-node index.

Returns

bool

True if the group state changed; otherwise, false.

ToggleSort(GroupGridColumn)

Toggles sorting for a column using the None, Ascending, Descending cycle.

public bool ToggleSort(GroupGridColumn Column)

Parameters

Column GroupGridColumn

The column to sort by.

Returns

bool

True if sorting changed; otherwise, false.

UngroupColumn(GroupGridColumn)

Removes a column from the grouping list.

public bool UngroupColumn(GroupGridColumn Column)

Parameters

Column GroupGridColumn

The grid column.

Returns

bool

True if the column was ungrouped; otherwise, false.

Events

BeginningEdit

Occurs before cell editing begins. Set Cancel to true to stop editing.

public event EventHandler<GroupGridCellEditEventArgs> BeginningEdit

Event Type

EventHandler<GroupGridCellEditEventArgs>

CellPointerPressed

Occurs when a pointer press targets a data body cell.

public event EventHandler<GroupGridCellPointerEventArgs> CellPointerPressed

Event Type

EventHandler<GroupGridCellPointerEventArgs>

CellValidating

Occurs before an edited value is committed. Set Cancel to true to keep editing active.

public event EventHandler<GroupGridCellEditEventArgs> CellValidating

Event Type

EventHandler<GroupGridCellEditEventArgs>

CellValueCommitted

Occurs after the edited value is written to the adapter.

public event EventHandler<GroupGridCellEditEventArgs> CellValueCommitted

Event Type

EventHandler<GroupGridCellEditEventArgs>

CellValueCommitting

Occurs after validation and before the edited value is written to the adapter.

public event EventHandler<GroupGridCellEditEventArgs> CellValueCommitting

Event Type

EventHandler<GroupGridCellEditEventArgs>

ColumnManagerRequested

Occurs when the column manager menu item is clicked.

public event EventHandler ColumnManagerRequested

Event Type

EventHandler

CreateInplaceEditor

Occurs when the grid needs an in-place editor for a cell.

public event EventHandler<GroupGridCreateInplaceEditorEventArgs> CreateInplaceEditor

Event Type

EventHandler<GroupGridCreateInplaceEditorEventArgs>

CurrentRowChanged

Occurs when the current adapter row changes.

public event EventHandler CurrentRowChanged

Event Type

EventHandler

DateNormalize

Occurs when the grid needs to normalize date editor text before committing a value.

public event EventHandler<GroupGridDateNormalizeEventArgs> DateNormalize

Event Type

EventHandler<GroupGridDateNormalizeEventArgs>

DeletingRow

Occurs before a row is deleted. Set Cancel to true to stop the deletion.

public event EventHandler<GroupGridRowOperationEventArgs> DeletingRow

Event Type

EventHandler<GroupGridRowOperationEventArgs>

EditCanceled

Occurs when cell editing is canceled.

public event EventHandler<GroupGridCellEditEventArgs> EditCanceled

Event Type

EventHandler<GroupGridCellEditEventArgs>

EditRequested

Occurs when the edit toolbar command is requested.

public event EventHandler EditRequested

Event Type

EventHandler

InsertingRow

Occurs before a row is inserted.

public event EventHandler<GroupGridRowOperationEventArgs> InsertingRow

Event Type

EventHandler<GroupGridRowOperationEventArgs>

RowDeleted

Occurs after a row is deleted.

public event EventHandler<GroupGridRowOperationEventArgs> RowDeleted

Event Type

EventHandler<GroupGridRowOperationEventArgs>

RowInserted

Occurs after a row is inserted.

public event EventHandler<GroupGridRowOperationEventArgs> RowInserted

Event Type

EventHandler<GroupGridRowOperationEventArgs>

ToolButtonClicked

Occurs when a custom toolbar button is clicked.

public event EventHandler<GroupGridToolButtonEventArgs> ToolButtonClicked

Event Type

EventHandler<GroupGridToolButtonEventArgs>