Class DataGrid

Namespace
Forma
Assembly
Forma.dll

Displays tabular data with virtualized rows, configurable columns, sorting, filtering, and row or cell selection.

[TemplatePart("PART_ScrollPresenter", typeof(ScrollPresenter), true)]
[TemplatePart("PART_ItemsPresenter", typeof(ItemsPresenter), true)]
[TemplatePart("PART_ColumnHeaders", typeof(GridPanel), true)]
public class DataGrid : ListBox, IAddChild<Control>, IAddChild, INotifyPropertyChanged, IDisposable, IItemsPresenterOwner, IItemContainerGenerator, IScrollViewportOwner
Inheritance
DataGrid
Implements
Inherited Members

Constructors

DataGrid()

public DataGrid()

Fields

ColumnHeadersPartName

public const string ColumnHeadersPartName = "PART_ColumnHeaders"

Field Value

string

DefaultAsynchronousSortThreshold

public const int DefaultAsynchronousSortThreshold = 1000

Field Value

int

DefaultColumnHeaderHeight

public const float DefaultColumnHeaderHeight = 34

Field Value

float

DefaultEstimatedRowExtent

public const float DefaultEstimatedRowExtent = 30

Field Value

float

HorizontalScrollBarPresenterPartName

public const string HorizontalScrollBarPresenterPartName = "PART_HorizontalScrollBarPresenter"

Field Value

string

MaximumSupportedVisibleColumns

public const int MaximumSupportedVisibleColumns = 256

Field Value

int

VerticalScrollBarPresenterPartName

public const string VerticalScrollBarPresenterPartName = "PART_VerticalScrollBarPresenter"

Field Value

string

Properties

AccessibilityRole

public override AccessibilityRole AccessibilityRole { get; }

Property Value

AccessibilityRole

AlternatingRowBackground

public bool AlternatingRowBackground { get; set; }

Property Value

bool

AsynchronousSortThreshold

public int AsynchronousSortThreshold { get; set; }

Property Value

int

CanRealizeItems

protected override bool CanRealizeItems { get; }

Property Value

bool

CanUserResizeColumns

public bool CanUserResizeColumns { get; set; }

Property Value

bool

CanUserSortColumns

public bool CanUserSortColumns { get; set; }

Property Value

bool

Columns

public ObservableCollection<DataGridColumn> Columns { get; }

Property Value

ObservableCollection<DataGridColumn>

CurrentCell

public CellIndex? CurrentCell { get; set; }

Property Value

CellIndex?

CurrentRowPath

public IndexPath? CurrentRowPath { get; }

Property Value

IndexPath?

Filter

public Predicate<object> Filter { get; set; }

Property Value

Predicate<object>

FilterMode

public DataGridFilterMode FilterMode { get; set; }

Property Value

DataGridFilterMode

HierarchySource

public IDataGridSource HierarchySource { get; }

Property Value

IDataGridSource

HorizontalScrollBar

public HScrollBar HorizontalScrollBar { get; }

Property Value

HScrollBar

HorizontalScrollMode

public ScrollBarVisibility HorizontalScrollMode { get; set; }

Property Value

ScrollBarVisibility

IsSorting

public bool IsSorting { get; }

Property Value

bool

ItemsSource

public IEnumerable ItemsSource { get; set; }

Property Value

IEnumerable

Mode

public DataGridMode Mode { get; set; }

Property Value

DataGridMode

RealizedCellCount

public int RealizedCellCount { get; }

Property Value

int

SelectedCells

public IReadOnlyList<CellIndex> SelectedCells { get; }

Property Value

IReadOnlyList<CellIndex>

SelectedRowPaths

public IReadOnlyList<IndexPath> SelectedRowPaths { get; }

Property Value

IReadOnlyList<IndexPath>

SelectionMode

public ItemListSelectionMode SelectionMode { get; set; }

Property Value

ItemListSelectionMode

SelectionUnit

public DataGridSelectionUnit SelectionUnit { get; set; }

Property Value

DataGridSelectionUnit

ShowHorizontalGridLines

public bool ShowHorizontalGridLines { get; set; }

Property Value

bool

ShowVerticalGridLines

public bool ShowVerticalGridLines { get; set; }

Property Value

bool

SortDescriptions

public ObservableCollection<DataGridSortDescription> SortDescriptions { get; }

Property Value

ObservableCollection<DataGridSortDescription>

VerticalScrollBar

public VScrollBar VerticalScrollBar { get; }

Property Value

VScrollBar

VerticalScrollMode

public ScrollBarVisibility VerticalScrollMode { get; set; }

Property Value

ScrollBarVisibility

Methods

ActivateColumnHeader(int, bool)

public void ActivateColumnHeader(int columnIndex, bool additive = false)

Parameters

columnIndex int
additive bool

ArrangeChildren()

protected override void ArrangeChildren()

ClearCellSelection()

public void ClearCellSelection()

ClearContainerForItem(Control, object)

protected override void ClearContainerForItem(Control container, object item)

Parameters

container Control
item object

Collapse(IndexPath)

public bool Collapse(IndexPath path)

Parameters

path IndexPath

Returns

bool

CollapseAll(Func<object, bool>)

public int CollapseAll(Func<object, bool> predicate = null)

Parameters

predicate Func<object, bool>

Returns

int

Dispose()

public override void Dispose()

Expand(IndexPath)

public bool Expand(IndexPath path)

Parameters

path IndexPath

Returns

bool

ExpandAll(Func<object, bool>)

public int ExpandAll(Func<object, bool> predicate = null)

Parameters

predicate Func<object, bool>

Returns

int

GetCell(int, int)

public DataGridCell GetCell(int rowIndex, int columnIndex)

Parameters

rowIndex int
columnIndex int

Returns

DataGridCell

GetColumnHeader(int)

public DataGridColumnHeader GetColumnHeader(int columnIndex)

Parameters

columnIndex int

Returns

DataGridColumnHeader

GetContainerForItem(object)

protected override Control GetContainerForItem(object item)

Parameters

item object

Returns

Control

GetDisplayColumns()

public IReadOnlyList<DataGridColumn> GetDisplayColumns()

Returns

IReadOnlyList<DataGridColumn>

GetRowPath(int)

public IndexPath GetRowPath(int rowIndex)

Parameters

rowIndex int

Returns

IndexPath

IsContainerCompatibleForItem(Control, object)

protected override bool IsContainerCompatibleForItem(Control container, object item)

Parameters

container Control
item object

Returns

bool

OnItemsChanged()

protected override void OnItemsChanged()

OnScrollMetricsChanged(ScrollMetrics)

protected override void OnScrollMetricsChanged(ScrollMetrics metrics)

Parameters

metrics ScrollMetrics

OnTemplateApplied()

protected override void OnTemplateApplied()

PrepareContainerForItem(Control, object, int)

protected override void PrepareContainerForItem(Control container, object item, int index)

Parameters

container Control
item object
index int

RefreshFilter()

public void RefreshFilter()

ResizeColumn(int, float)

public void ResizeColumn(int columnIndex, float width)

Parameters

columnIndex int
width float

SelectCell(CellIndex, bool)

public void SelectCell(CellIndex cell, bool additive = false)

Parameters

cell CellIndex
additive bool

SelectCellRange(CellIndex, CellIndex)

public void SelectCellRange(CellIndex anchor, CellIndex target)

Parameters

anchor CellIndex
target CellIndex

SelectItemFromPointer(int, Point)

protected override void SelectItemFromPointer(int index, Point point)

Parameters

index int
point Point

SelectRowHeader(IndexPath, bool, bool)

public void SelectRowHeader(IndexPath rowPath, bool additive = false, bool extendRange = false)

Parameters

rowPath IndexPath
additive bool
extendRange bool

Toggle(IndexPath)

public bool Toggle(IndexPath path)

Parameters

path IndexPath

Returns

bool

ToggleCell(CellIndex)

public void ToggleCell(CellIndex cell)

Parameters

cell CellIndex

UpdateContainerPosition(Control, object, int, int)

protected override void UpdateContainerPosition(Control container, object item, int index, int alternationIndex)

Parameters

container Control
item object
index int
alternationIndex int

Events

CellSelectionChanged

public event EventHandler<DataGridCellSelectionChangedEventArgs> CellSelectionChanged

Event Type

EventHandler<DataGridCellSelectionChangedEventArgs>