Das Avalonia-Pivot-Grid, das auf Avalonia 12 läuft

sgcPivotGrid gibt Ihrer Avalonia-Anwendung eine echte Pivot-Tabelle: ein Pivot-Grid, eine Feldliste mit Drag and Drop und Pivot-Diagramme, als native Avalonia-12-Steuerelemente unter Windows, Linux und macOS. Binden Sie es in XAML an Ihr ViewModel, lassen Sie die Benutzer Felder zwischen Zeilen, Spalten, Filtern und Werten ziehen und exportieren Sie das Ergebnis nach Excel. Darunter liegt keine WPF-Runtime, und es muss kein OLAP-Server installiert werden.

Eine für Avalonia gemachte Pivot-Tabelle

Pivot-Grids für .NET-Desktop-Apps stammen meist aus WinForms- und WPF-Suiten. Unter Avalonia ist die Auswahl klein.

Nativ, nicht emuliert

TsgcAvaloniaPivotGrid und TsgcAvaloniaPivotFieldList liegen im Paket esegece.sgcPivotGrid.Avalonia. Sie basieren auf der Avalonia-Steuerelementbasis von sgcUICore und werden mit SkiaSharp gezeichnet, laufen also überall, wo Avalonia 12 auf dem Desktop läuft. Die Paketuntergrenze ist Avalonia 12.0, die Tests und Demos laufen auf 12.1.4.

Eine Alternative zu einem OLAP-Stack

Die Engine pivotiert die Zeilen, die Sie bereits im Speicher haben. Sie hält jede Spalte in einem typisierten Spaltenspeicher, aggregiert in einem Durchlauf über die Quellzeilen und zeichnet nur den sichtbaren Teil des Ergebnisses. Summen stammen aus den Quellwerten, nie aus Durchschnitten von Durchschnitten.

Alles, was Benutzer von einer Pivot-Tabelle erwarten

Als Registered markierte Funktionen sind nicht im kostenlosen Community-Paket enthalten. Jede andere Funktion ist in jeder Edition enthalten.

Funktion Im Avalonia-Pivot-Grid Edition
Feldliste mit Drag and DropTsgcAvaloniaPivotFieldList mit den Zonen Zeilen, Spalten, Filter und Werte, DeferUpdate und ApplyChanges, einem Mitglieder-Popup mit Suche und einem Menü Gruppieren nach (Keine, Jahr, Quartal, Monat, Woche, Tag) bei Datumsfeldernjede Edition
AggregationenSumme, Anzahl, Mittelwert, Min, Max, Anzahl eindeutiger Werte, Standardabweichung und Varianz (pvfSum bis pvfVar), mit Zwischensummen und Gesamtsummenjede Edition
DatumsgruppierungDateGrouping mit pvdYear, pvdQuarter, pvdMonth, pvdWeek und pvdDay, eine Ebene pro Feldjede Edition
Filter und SortierungMitglieds-, Beschriftungs- und Wertfilter, Sortierung nach Beschriftung oder nach Wertjede Edition
Top NTopN und TopNOthers bei einem Feld: die obersten Elemente behalten und den Rest in Sonstige zusammenfassenRegistered
Werte anzeigen alsShowAs: Prozent der Zeile, der Spalte oder der Gesamtsumme, laufende Summe, Differenz von und RangRegistered
Berechnete Felder und ElementeCalculatedFields an der Engine und CalculatedItems an einem Feld für Formeln über benachbarte Elemente wie East+West; die Summen basieren weiterhin auf den QuellzeilenRegistered
Asynchrone BerechnungAsyncCalculation, RecalculateAsync mit einem Task<bool> als Rückgabe und einem CancellationToken, sowie CancelCalculation, damit das Fenster reaktionsfähig bleibtRegistered
Bedingte Formatierung und DrilldownFormatRules für Farbskalen, OnGetCellStyle, OnGetCellText und OnDrillDown für die Zeilen hinter einer Zellejede Edition
ExportSaveToCSV, SaveToHTML, SaveToJSON, SaveToPNG und SaveToSVGjede Edition
Excel-ExportSaveToXLSX schreibt eine echte Arbeitsmappe ohne externe Bibliothek: verbundene Kopfzeilen, Gliederung, fixierte Kopfzeile, Zahlenformate und Blätter von rechts nach linksRegistered
Pivot-DiagrammeTsgcPivotChartTable speist ein TsgcChartTableLink von sgcCharts in einem TsgcAvaloniaChart, die Feldliste mit Layout = pvlBar setzt Feldschaltflächen über das Diagramm, und der Diagramm-Designer öffnet sich mit ShowDesignerAsyncRegistered sgcPivotGrid und sgcCharts
Das Pivot fragenTsgcPivotGridAI verwandelt eine Frage in natürlicher Sprache über einen beliebigen TsgcUIAIProvider in ein Pivot-Layout, mit der TsgcAvaloniaAIQueryBar. Gesendet wird nur der Feldkatalog (Namen, Beschriftungen, Typen und einige Beispielwerte), nie die Zeilenjede Edition; Undo ist Registered
Gespeicherte LayoutsSaveLayoutToString, LoadLayoutFromString, SaveLayoutToFile und LoadLayoutFromFile; die Diagrammeinstellungen im Pivot-Layout-JSON sind byte-kompatibel mit DelphiRegistered
Drucken und PDFPrint, ShowPrintPreview und ExportToPDF, mit den Kopfzeilen auf jeder Seite; das PDF ist ein getaggtes PDF/UA-Dokument, in dem das Pivot zu einer echten Tabelle wirdjede Edition
Themeshelle, dunkle und kontrastreiche Themes sowie das Fluent-Preset; unter Fluent gibt Avalonia 12 mit FluentTheme den Steuerelementen ihre Hintergründe, Rahmen, Texte und Füllungenjede Edition
Rechts-nach-links und BarrierefreiheitRechts-nach-links-Layouts, gesteuert von der Richtung, die Avalonia bereits hat, und UI Automation standardmäßig aktivjede Edition
SprachenEndbenutzertexte aus eingebetteten Sprachpaketen für 12 Sprachen, umgeschaltet mit sgcUILang.SetLanguagejede Edition

XLSX-Export, berechnete Elemente, asynchrone Berechnung, Pivot-Diagramme und die 12 Sprachpakete stehen in der sgcUI-.NET-Historie für Version 2026.11.0. Die vollständige Funktionsübersicht finden Sie auf der Produktseite von sgcPivotGrid.

Ein Pivot-Grid in Avalonia-XAML

Beide Dateien sind aus einer Beispiel-App mit Avalonia 12.1.4 auf net8.0 mit kompilierten Bindungen und FluentTheme kopiert. Sie wurde in Release gegen die Avalonia-Quellen von sgcPivotGrid mit 0 Fehlern und 0 Warnungen gebaut. RecalculateAsync und SaveToXLSX erfordern die Edition Registered und die Version 2026.11.

Die View: Grid, Felder und Feldliste

Ein einziges Präfix sgc bildet alle sgcUI-Steuerelemente ab. Die Felder sind der Inhalt des Grids, ItemsSource bindet die Zeilen, und die Feldliste folgt dem Grid über PivotGrid:

MainWindow.axaml
<Window xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:sgc="https://www.esegece.com/sgcui"
        xmlns:vm="using:PivotDemo"
        x:Class="PivotDemo.MainWindow"
        x:DataType="vm:TSalesViewModel"
        Title="Avalonia pivot grid" Width="1100" Height="640">
  <Grid ColumnDefinitions="*,260">
    <sgc:TsgcAvaloniaPivotGrid x:Name="pivot" ItemsSource="{Binding Sales}" AlternateRows="True">
      <sgc:TsgcAvaloniaPivotField FieldName="Region" Area="pvaRow" Caption="Region"/>
      <sgc:TsgcAvaloniaPivotField FieldName="Date" Area="pvaColumn" DateGrouping="pvdYear" Caption="Year"/>
      <sgc:TsgcAvaloniaPivotField FieldName="Date" Area="pvaColumn" DateGrouping="pvdQuarter" Caption="Quarter"/>
      <sgc:TsgcAvaloniaPivotField FieldName="Amount" Area="pvaData" Aggregation="pvfSum"
                                  DisplayFormat="#,##0.00" Caption="Sales"/>
    </sgc:TsgcAvaloniaPivotGrid>
    <sgc:TsgcAvaloniaPivotFieldList Grid.Column="1" Margin="8,0,0,0" PivotGrid="{Binding #pivot}"/>
  </Grid>
</Window>

Das ViewModel und der Code-Behind

Eine ObservableCollection aus einfachen Objekten genügt. Jedes öffentliche Mitglied wird zu einer Pivot-Spalte, und eine Änderung der Sammlung lädt das Pivot nach 100 ms neu:

MainWindow.axaml.cs
using System;
using System.Collections.ObjectModel;
using System.Threading;
using System.Threading.Tasks;
using Avalonia.Controls;

namespace PivotDemo
{
    public sealed class TSale
    {
        public string Region { get; set; }
        public DateTime Date { get; set; }
        public double Amount { get; set; }
    }

    public sealed class TSalesViewModel
    {
        public ObservableCollection<TSale> Sales { get; } = new ObservableCollection<TSale>();
    }

    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            TSalesViewModel oModel = new TSalesViewModel();
            oModel.Sales.Add(new TSale { Region = "North", Date = new DateTime(2026, 2, 3), Amount = 1250 });
            oModel.Sales.Add(new TSale { Region = "South", Date = new DateTime(2026, 5, 18), Amount = 980 });
            DataContext = oModel;
        }

        // Registered edition: recalculate on a worker thread, then save an Excel workbook
        private async Task DoExportAsync(CancellationToken aToken)
        {
            if (await pivot.Pivot.RecalculateAsync(aToken))
                pivot.SaveToXLSX("sales.xlsx", "Sales");
        }
    }
}

Der Rest der App ist die Standardvorlage für Avalonia-Desktop-Anwendungen: Avalonia.Desktop und Avalonia.Themes.Fluent, <FluentTheme/> in App.axaml und das Paket esegece.sgcPivotGrid.Avalonia, oder esegece.sgcPivotGrid.Avalonia.Community für die kostenlose Edition. Der Avalonia-Schnellstart in der Hilfe baut dasselbe Pivot im Code mit BeginLoad, DefineColumn, AppendRow und EndLoad.

Eine Pivot-Engine, jeder Desktop

Das Avalonia-Pivot-Grid teilt Engine, Felder und Layoutformat mit den Versionen für WinForms, WPF, VCL und FireMonkey.

Ziel Steuerelement Plattformen
Avalonia 12, net8.0, net9.0, net10.0TsgcAvaloniaPivotGrid, TsgcAvaloniaPivotFieldListWindows, Linux und macOS
.NET Framework 4.7.2, .NET 8, 9 und 10TsgcWinFormsPivotGrid, TsgcWpfPivotGridWinForms und WPF unter Windows
Delphi 7 bis 13, VCLTsgcVCLPivotGridWin32 und Win64
Delphi XE6 bis 13, FireMonkeyTsgcFMXPivotGridWindows, macOS, iOS und Android
C++ Builder 2007 bis 13VCL- und FMX-Pivot-Gridsgenerierte .hpp-Header und statische Bibliotheken

Kostenlos zum Start, voller Quellcode beim Kauf

Preise von der sgcUI-Preisseite.

Community

esegece.sgcPivotGrid.Avalonia.Community auf NuGet, kostenlos in kommerziellen und nicht kommerziellen Projekten für Einzelpersonen oder Organisationen mit einem jährlichen Bruttoumsatz unter 1.000.000 EUR und höchstens fünf Entwicklern. Enthalten sind das Grid, die Feldliste, Aggregationen, Datumsgruppierung, Filter, Farbskalen, die Exporte nach CSV, HTML, JSON, PNG und SVG, Drucken und PDF.

sgcPivotGrid .NET

Das Einzelpaket, €249 pro Entwickler mit vollständigem C#-Quellcode und 1 Jahr Updates. Es ergänzt Top N mit Sonstige, Werte anzeigen als, berechnete Felder und Elemente, gespeicherte Layouts, XLSX-Export, asynchrone Berechnung und Pivot-Diagramme, für WinForms, WPF und Avalonia.

sgcUI .NET Enterprise

Alle sgcUI-Produkte für .NET, sgcPivotGrid eingeschlossen, ab €699 pro Entwickler. Die Pivot-Diagramme brauchen außerdem sgcCharts, das ebenfalls in Enterprise enthalten ist.

Pivot unter Avalonia: die Wege im Vergleich

Gelesen am 2026-10-20, aus den in der Tabelle verlinkten Seiten.

  Ein Pivot einer WPF-Suite unter Avalonia XPF Avalonia Pro sgcPivotGrid
Pivot-Griddas WPF-Steuerelement, ausgeführt von XPF, "a binary-compatible WPF runtime"nicht auf der Avalonia-Pro-Seite aufgeführtnative Avalonia-12-Steuerelemente mit Feldliste
LizenzXPF pro Anwendung: Internal 9.500 EUR, Business 29.500 EUR, Enterprise ab 124.500 EUR899 EUR pro Platz und Jahr, zzgl. MwSt.pro Entwickler, ab €249, keine Gebühr pro Anwendung, freie Weitergabe der Binärdateien
Bedingungendie XPF-Hinweise zu Drittbibliotheken sagen, dass Win32-API-Shims "required for DevExpress controls" sind und dass "Issues most commonly arise with controls that use GDI or WinForms components" das Avalonia-Paket referenziert Avalonia, Avalonia.Skia und SkiaSharp, nicht WPF oder WinForms
Quellcode voller Quellcode der Premium-Steuerelemente in Enterprisevoller C#-Quellcode in jeder Registered-Edition

XPF will eine bestehende WPF-Anwendung mit ihrem Code und ihren Steuerelementen weitgehend unverändert unter macOS und Linux ausführen, und sgcPivotGrid tut das nicht: Sie fügen es einer Avalonia-View hinzu. Wenn Sie eine WPF- oder WinForms-App umziehen, lesen Sie WinForms und WPF nach Avalonia. Wenn Sie Avalonia Pro nutzen, lesen Sie die Steuerelemente, die Avalonia Pro nicht mitliefert; sgcPivotGrid läuft neben den Avalonia-Pro-Steuerelementen.

Ausprobieren, bevor Sie eine Zeile schreiben

Die .NET-Demos von sgcPivotGrid enthalten zwei Avalonia-Apps, die unter Windows, Linux und macOS mit dem .NET SDK 8.0 oder neuer laufen.

SalesPivotAvalonia

100.000 erzeugte Verkaufszeilen mit Feldliste, Spalten für Jahr, Quartal und Monat, Sortierung nach Wert, einer Farbskala, Export nach CSV, HTML und PNG und der KI-Abfrageleiste. dotnet run startet sie, und dotnet run -- --test result.txt führt ihre Selbsttests ohne Bildschirmausgabe aus.

PivotChartAvalonia

Ein Pivot-Diagramm wie in Excel: ein TsgcAvaloniaPivotGrid, eine TsgcPivotChartTable und ein TsgcChartTableLink an einem TsgcAvaloniaChart, Feldschaltflächen über dem Diagramm, der Diagramm-Designer und die im Pivot-Layout gespeicherten Diagrammeinstellungen. Das Pivot-Diagramm gibt es nur in Registered.

Lieber eine fertige ausführbare Datei? Die kompilierten Demos aller sgcUI-Produkte brauchen keine Installation.

Häufig gestellte Fragen

Ja. TsgcAvaloniaPivotGrid und TsgcAvaloniaPivotFieldList sind Avalonia-Steuerelemente im Paket esegece.sgcPivotGrid.Avalonia, aufgebaut auf der Avalonia-Steuerelementbasis von sgcUICore und mit SkiaSharp gezeichnet. Das Paket zielt auf Avalonia 12 (Paketuntergrenze 12.0, getestet auf 12.1.4). Es gibt keine WPF-Schicht und keine XPF-Runtime.

Windows, Linux und macOS über Avalonia 12, mit den Zielframeworks net8.0, net9.0 und net10.0. Dasselbe Produkt hat außerdem WinForms- und WPF-Pivot-Grids für .NET Framework 4.7.2 und .NET 8, 9 und 10 sowie VCL- und FireMonkey-Pivot-Grids für Delphi und C++ Builder.

Binden Sie ItemsSource an ein beliebiges IEnumerable des ViewModels, zum Beispiel eine ObservableCollection, eine List oder eine DataView, und deklarieren Sie die Felder in XAML als TsgcAvaloniaPivotField-Elemente mit FieldName, Area und Aggregation. Jedes Mitglied der Elemente wird zu einer Pivot-Spalte. Spätere Änderungen der Sammlung laden das Pivot einmal pro 100-ms-Fenster neu. Eine System.Data.DataTable kann auch über TsgcPivotSource_DataSet gelesen werden.

Das Community-Paket esegece.sgcPivotGrid.Avalonia.Community enthält das Grid, die Feldliste mit Drag and Drop, acht Aggregationen, Datumsgruppierung, Mitglieds-, Beschriftungs- und Wertfilter, Sortierung, Farbskalen, Export nach CSV, HTML, JSON, PNG und SVG, Drucken mit Vorschau, PDF-Export, Barrierefreiheit und KI-Layouts. Top N mit Sonstige, Werte anzeigen als, berechnete Felder und Elemente, gespeicherte Layouts, XLSX-Export, asynchrone Berechnung, Pivot-Diagramme und Undo eines KI-Layouts erfordern eine Registered-Edition.

Ja. Das Layout wird mit SaveLayoutToString oder SaveLayoutToFile als JSON gespeichert, und die im Pivot-Layout-JSON gespeicherten Diagrammeinstellungen sind byte-kompatibel mit Delphi. Gespeicherte Layouts gehören zur Registered-Edition.

Bestes Preis-Leistungs-Verhältnis: All-AccessAlle eSeGeCe-Produkte, inklusive Premium-Support, ab €1,059 pro Jahr.
All-Access-Preise ansehen

Fügen Sie Ihrer Avalonia-App eine Pivot-Tabelle hinzu

Beginnen Sie mit dem kostenlosen Community-Paket von NuGet, oder nehmen Sie die Registered-Edition für alle Funktionen und vollständigen C#-Quellcode, und führen Sie das Demo SalesPivotAvalonia neben Ihrer App aus.