Bounded layout for very large data

Virtual Data Surfaces

Scale the viewport without throwing away interaction, automation, or measurable behavior.

Explore source
Parent systemProDataGrid
StatusActive
Modules1
RepositoryProDataGrid/Avalonia.Controls.DataGrid

ProDataGrid exposes several performance paths because virtualization is a product choice: retained controls preserve the broadest Avalonia behavior, while drawn and virtual surfaces trade template flexibility for tighter CPU and allocation budgets.

  1. 01

    Flat, retained, drawn, and fully virtual layouts

  2. 02

    Row retargeting, recycling, and bounded extent calculation

  3. 03

    Virtual selection, sorting, editing, and specialized cells

  4. 04

    Scroll, layout, hierarchy, and sorting benchmarks

From intent
to working system.

01

Source

Collections, hierarchy adapters, remote queries, and runtime-defined shapes expose rows incrementally.

02

Realize

Replaceable realization factories choose retained controls, drawn cells, or virtual row state for the viewport.

03

Retarget

Recycled rows update typed content, selection, editing, automation, and lifecycle state without rebuilding the full surface.

04

Measure

Dedicated benchmarks track scrolling, sorting, hierarchy, recycling, layout, and allocation trade-offs.

Adopt this
capability.

Start with the primary module, then add the related packages only when the application needs those layers. Replace VERSION with the current NuGet version.

01 · Install
Terminal
dotnet add package ProDataGrid
02 · Use · xml
MainWindow.axaml
<DataGrid ItemsSource="{Binding Trades}"
RowTheme="{StaticResource DataGridOptimizedFeatureUnfrozenRowTheme}"
CellTheme="{StaticResource DataGridOptimizedCellTheme}"
UseLightweightFiller="True" />

Use one layer.
Compose the rest.

Read the module beside the complete system.

The implementation, samples, issues, and release notes stay in the parent repository so module details remain connected to the product architecture.

ProDataGrid

Search everything.

Loading the index…

move open esc close

Preparing metadata and full-text search…