La griglia pivot per Avalonia che funziona su Avalonia 12

sgcPivotGrid dà alla tua applicazione Avalonia una vera tabella pivot: una griglia pivot, un elenco campi con trascinamento e grafici pivot, come controlli nativi di Avalonia 12 su Windows, Linux e macOS. Collegala al tuo view model in XAML, lascia che gli utenti trascinino i campi tra righe, colonne, filtri e valori, ed esporta il risultato in Excel. Sotto non c'è alcun runtime WPF e non serve installare un server OLAP.

Una tabella pivot fatta per Avalonia

Le griglie pivot per le app desktop .NET di solito arrivano da suite WinForms e WPF. Su Avalonia la scelta è limitata.

Nativo, non emulato

TsgcAvaloniaPivotGrid e TsgcAvaloniaPivotFieldList si trovano nel pacchetto esegece.sgcPivotGrid.Avalonia. Sono costruiti sulla base di controlli Avalonia di sgcUICore e disegnati con SkiaSharp, quindi funzionano ovunque giri Avalonia 12 sul desktop. Il minimo del pacchetto è Avalonia 12.0 e i test e le demo girano su 12.1.4.

Un'alternativa a uno stack OLAP

Il motore pivota le righe che hai già in memoria. Tiene ogni colonna in un archivio a colonne tipizzato, aggrega in un solo passaggio sulle righe di origine e disegna solo la parte visibile del risultato. I totali derivano dai valori di origine, mai da medie di medie.

Tutto ciò che gli utenti si aspettano da una tabella pivot

Le funzioni contrassegnate Registered non sono nel pacchetto gratuito Community. Ogni altra funzione è in ogni edizione.

Funzione Sulla griglia pivot per Avalonia Edizione
Elenco campi con trascinamentoTsgcAvaloniaPivotFieldList con le zone Righe, Colonne, Filtri e Valori, DeferUpdate e ApplyChanges, un popup dei membri con ricerca e un menu Raggruppa per (Nessuno, Anno, Trimestre, Mese, Settimana, Giorno) sui campi dataogni edizione
AggregazioniSomma, Conteggio, Media, Min, Max, conteggio distinto, deviazione standard e varianza (pvfSum a pvfVar), con subtotali e totali generaliogni edizione
Raggruppamento delle dateDateGrouping con pvdYear, pvdQuarter, pvdMonth, pvdWeek e pvdDay, un livello per campoogni edizione
Filtri e ordinamentofiltri per membro, per etichetta e per valore, ordinamento per etichetta o per valoreogni edizione
Top NTopN e TopNOthers su un campo: mantiene gli elementi principali e somma il resto in AltriRegistered
Mostra valori comeShowAs: percentuale della riga, della colonna o del totale generale, totale progressivo, differenza da e classificaRegistered
Campi ed elementi calcolatiCalculatedFields sul motore e CalculatedItems su un campo per formule su elementi fratelli come East+West; i totali restano basati sulle righe di origineRegistered
Calcolo asincronoAsyncCalculation, RecalculateAsync che restituisce un Task<bool> con un CancellationToken, e CancelCalculation, così la finestra resta reattivaRegistered
Formattazione condizionale e drill downFormatRules per le scale di colore, OnGetCellStyle, OnGetCellText e OnDrillDown per le righe dietro una cellaogni edizione
EsportazioneSaveToCSV, SaveToHTML, SaveToJSON, SaveToPNG e SaveToSVGogni edizione
Esportazione in ExcelSaveToXLSX scrive una vera cartella di lavoro senza librerie esterne: intestazioni unite, struttura, intestazione bloccata, formati numerici e fogli da destra a sinistraRegistered
Grafici pivotTsgcPivotChartTable alimenta un TsgcChartTableLink di sgcCharts su un TsgcAvaloniaChart, l'elenco campi con Layout = pvlBar mette i pulsanti dei campi sopra il grafico e il designer di grafici si apre con ShowDesignerAsyncsgcPivotGrid e sgcCharts Registered
Chiedi al pivotTsgcPivotGridAI trasforma una domanda in linguaggio naturale in un layout pivot tramite qualsiasi TsgcUIAIProvider, con la TsgcAvaloniaAIQueryBar. Viene inviato solo il catalogo dei campi (nomi, didascalie, tipi e pochi valori di esempio), mai le righeogni edizione; Undo è Registered
Layout salvatiSaveLayoutToString, LoadLayoutFromString, SaveLayoutToFile e LoadLayoutFromFile; le impostazioni del grafico nel JSON del layout pivot sono compatibili byte per byte con DelphiRegistered
Stampa e PDFPrint, ShowPrintPreview e ExportToPDF, con le intestazioni su ogni pagina; il PDF è un documento PDF/UA con tag in cui il pivot diventa una vera tabellaogni edizione
Temitemi chiaro, scuro e ad alto contrasto, e il preset Fluent; con Fluent, Avalonia 12 con FluentTheme dà ai controlli sfondi, bordi, testi e riempimentiogni edizione
Da destra a sinistra e accessibilitàlayout da destra a sinistra guidati dalla direzione che Avalonia ha già, e UI Automation attivo per impostazione predefinitaogni edizione
Linguetesti per l'utente finale da pacchetti lingua incorporati per 12 lingue, cambiati con sgcUILang.SetLanguageogni edizione

L'esportazione XLSX, gli elementi calcolati, il calcolo asincrono, i grafici pivot e i 12 pacchetti lingua sono elencati nella cronologia di sgcUI .NET per la versione 2026.11.0. Per il tour completo delle funzioni vedi la pagina prodotto di sgcPivotGrid.

Una griglia pivot in XAML di Avalonia

Entrambi i file sono copiati da un'app di esempio Avalonia 12.1.4 su net8.0 con binding compilati e FluentTheme. È stata compilata in Release con i sorgenti Avalonia di sgcPivotGrid, con 0 errori e 0 avvisi. RecalculateAsync e SaveToXLSX richiedono l'edizione Registered e la versione 2026.11.

La vista: griglia, campi ed elenco campi

Un solo prefisso sgc mappa tutti i controlli sgcUI. I campi sono il contenuto della griglia, ItemsSource collega le righe e l'elenco campi segue la griglia tramite 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>

Il view model e il code behind

Basta una ObservableCollection di oggetti semplici. Ogni membro pubblico diventa una colonna del pivot e una modifica della raccolta ricarica il pivot dopo 100 ms:

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");
        }
    }
}

Il resto dell'app è il modello desktop standard di Avalonia: Avalonia.Desktop e Avalonia.Themes.Fluent, <FluentTheme/> in App.axaml e il pacchetto esegece.sgcPivotGrid.Avalonia, oppure esegece.sgcPivotGrid.Avalonia.Community per l'edizione gratuita. L'avvio rapido di Avalonia nella guida costruisce lo stesso pivot nel codice con BeginLoad, DefineColumn, AppendRow e EndLoad.

Un motore pivot, ogni desktop

La griglia pivot per Avalonia condivide motore, campi e formato dei layout con le versioni WinForms, WPF, VCL e FireMonkey.

Destinazione Controllo Piattaforme
Avalonia 12, net8.0, net9.0, net10.0TsgcAvaloniaPivotGrid, TsgcAvaloniaPivotFieldListWindows, Linux e macOS
.NET Framework 4.7.2, .NET 8, 9 e 10TsgcWinFormsPivotGrid, TsgcWpfPivotGridWinForms e WPF su Windows
Delphi da 7 a 13, VCLTsgcVCLPivotGridWin32 e Win64
Delphi da XE6 a 13, FireMonkeyTsgcFMXPivotGridWindows, macOS, iOS e Android
C++ Builder da 2007 a 13griglie pivot VCL e FMXheader .hpp generati e librerie statiche

Gratis per iniziare, codice sorgente completo quando acquisti

Prezzi dalla pagina dei prezzi di sgcUI.

Community

esegece.sgcPivotGrid.Avalonia.Community su NuGet, gratuito in progetti commerciali e non commerciali per una persona o un'organizzazione con ricavi lordi annui inferiori a 1.000.000 EUR e non più di cinque sviluppatori. Include la griglia, l'elenco campi, le aggregazioni, il raggruppamento delle date, i filtri, le scale di colore, le esportazioni CSV, HTML, JSON, PNG e SVG, la stampa e il PDF.

sgcPivotGrid .NET

Il pacchetto singolo, €249 per sviluppatore con codice sorgente C# completo e 1 anno di aggiornamenti. Aggiunge Top N con Altri, mostra valori come, campi ed elementi calcolati, layout salvati, esportazione XLSX, calcolo asincrono e grafici pivot, per WinForms, WPF e Avalonia.

sgcUI .NET Enterprise

Ogni prodotto sgcUI per .NET, sgcPivotGrid incluso, a partire da €699 per sviluppatore. I grafici pivot richiedono anche sgcCharts, che è incluso anch'esso in Enterprise.

Il pivot su Avalonia: le strade a confronto

Letto il 2026-10-20, dalle pagine collegate nella tabella.

  Un pivot di una suite WPF su Avalonia XPF Avalonia Pro sgcPivotGrid
Griglia pivotil controllo WPF, eseguito da XPF, "a binary-compatible WPF runtime"non elencata nella pagina di Avalonia Procontrolli nativi di Avalonia 12 con un elenco campi
LicenzaXPF per applicazione: Internal 9.500 EUR, Business 29.500 EUR, Enterprise da 124.500 EUR899 EUR per postazione all'anno, IVA esclusaper sviluppatore, da €249, nessuna tariffa per applicazione, ridistribuzione libera dei binari
Condizionile note XPF sulle librerie di terze parti dicono che gli shim delle API Win32 sono "required for DevExpress controls" e che "Issues most commonly arise with controls that use GDI or WinForms components" il pacchetto Avalonia fa riferimento a Avalonia, Avalonia.Skia e SkiaSharp, non a WPF né a WinForms
Codice sorgente codice sorgente completo dei controlli premium in Enterprisecodice sorgente C# completo in ogni edizione Registered

XPF punta a eseguire un'applicazione WPF esistente su macOS e Linux con il suo codice e i suoi controlli in gran parte invariati, e sgcPivotGrid non fa questo: lo aggiungi a una vista Avalonia. Se stai migrando un'app WPF o WinForms, leggi Da WinForms e WPF ad Avalonia. Se usi Avalonia Pro, leggi i controlli che Avalonia Pro non offre; sgcPivotGrid funziona accanto ai controlli di Avalonia Pro.

Provalo prima di scrivere una riga

Le demo .NET di sgcPivotGrid includono due app Avalonia che girano su Windows, Linux e macOS con .NET SDK 8.0 o successivo.

SalesPivotAvalonia

100.000 righe di vendite generate con un elenco campi, colonne Anno, Trimestre e Mese, ordinamento per valore, una scala di colore, esportazione in CSV, HTML e PNG e la barra di interrogazione con IA. dotnet run la avvia e dotnet run -- --test result.txt esegue i suoi autocontrolli fuori schermo.

PivotChartAvalonia

Un grafico pivot come in Excel: un TsgcAvaloniaPivotGrid, una TsgcPivotChartTable e un TsgcChartTableLink su un TsgcAvaloniaChart, pulsanti dei campi sopra il grafico, il designer di grafici e le impostazioni del grafico salvate nel layout del pivot. Il grafico pivot è solo Registered.

Preferisci un eseguibile pronto? Le demo compilate di ogni prodotto sgcUI non richiedono nulla di installato.

Domande frequenti

Sì. TsgcAvaloniaPivotGrid e TsgcAvaloniaPivotFieldList sono controlli Avalonia nel pacchetto esegece.sgcPivotGrid.Avalonia, costruiti sulla base di controlli Avalonia di sgcUICore e disegnati con SkiaSharp. Il pacchetto ha come destinazione Avalonia 12 (minimo del pacchetto 12.0, testato su 12.1.4). Non c'è alcuno strato WPF né un runtime XPF.

Windows, Linux e macOS tramite Avalonia 12, con i target framework net8.0, net9.0 e net10.0. Lo stesso prodotto ha anche griglie pivot WinForms e WPF per .NET Framework 4.7.2 e .NET 8, 9 e 10, e griglie pivot VCL e FireMonkey per Delphi e C++ Builder.

Collega ItemsSource a qualsiasi IEnumerable del view model, per esempio una ObservableCollection, una List o una DataView, e dichiara i campi in XAML come elementi TsgcAvaloniaPivotField con FieldName, Area e Aggregation. Ogni membro degli elementi diventa una colonna del pivot. Le modifiche successive della raccolta ricaricano il pivot una volta per finestra di 100 ms. Una System.Data.DataTable può essere letta anche tramite TsgcPivotSource_DataSet.

Il pacchetto Community esegece.sgcPivotGrid.Avalonia.Community include la griglia, l'elenco campi con trascinamento, otto aggregazioni, il raggruppamento delle date, i filtri per membro, per etichetta e per valore, l'ordinamento, le scale di colore, l'esportazione CSV, HTML, JSON, PNG e SVG, la stampa con anteprima, l'esportazione PDF, l'accessibilità e i layout con IA. Top N con Altri, mostra valori come, campi ed elementi calcolati, layout salvati, esportazione XLSX, calcolo asincrono, grafici pivot e Undo di un layout con IA richiedono un'edizione Registered.

Sì. Il layout viene salvato come JSON con SaveLayoutToString o SaveLayoutToFile, e le impostazioni del grafico memorizzate nel JSON del layout del pivot sono compatibili byte per byte con Delphi. I layout salvati sono nell'edizione Registered.

La scelta più conveniente: All-AccessTutti i prodotti eSeGeCe, con Supporto Premium incluso, a partire da €1,059/anno.
Vedi i prezzi All-Access

Aggiungi una tabella pivot alla tua app Avalonia

Inizia con il pacchetto gratuito Community da NuGet, oppure scegli l'edizione Registered per tutte le funzioni e il codice sorgente C# completo, ed esegui la demo SalesPivotAvalonia accanto alla tua app.