AG Grid Enterprise - Setup e Configurazione
Installazione
Per utilizzare le funzionalità Enterprise di AG Grid (sidebar, esportazione Excel, row grouping, ecc.), è necessario installare il pacchetto ag-grid-enterprise:
bash
npm install ag-grid-enterprise⚠️ Licenza
IMPORTANTE: AG Grid Enterprise richiede una licenza commerciale valida per l'uso in produzione.
- Development/Testing: È possibile utilizzare AG Grid Enterprise senza licenza per scopi di sviluppo e testing. Verrà visualizzato un watermark "AG Grid Enterprise Trial" nella griglia.
- Production: È necessario acquistare una licenza da ag-grid.com/license
Configurazione Licenza
Una volta ottenuta la licenza, configurala nel codice:
typescript
import { LicenseManager } from "ag-grid-enterprise";
LicenseManager.setLicenseKey("YOUR_LICENSE_KEY_HERE");Funzionalità Enterprise Disponibili
La pagina di test /test-ag-grid include le seguenti funzionalità Enterprise:
1. Sidebar (sideBar={true})
- Pannello "Columns": gestione visibilità e ordine colonne
- Pannello "Filters": gestione filtri attivi
- Accesso tramite icone sulla destra della griglia
2. Esportazione Excel
- Menu contestuale: click destro su header → "Export" → "Excel Export"
- Esporta tutti i dati o solo le righe selezionate
- Supporto formattazione e stili
3. Filtri Avanzati
agNumberColumnFilter: filtri numerici avanzati (uguale, maggiore, minore, range)agDateColumnFilter: filtri per date- Filtri multipli su singola colonna
4. Row Grouping & Aggregation
- Trascina colonne nella sidebar "Row Groups"
- Aggregazioni automatiche (sum, count, avg, min, max)
- Espandi/Comprimi gruppi
5. Range Selection (enableRangeSelection={true})
- Selezione multipla celle come in Excel
- Copia/Incolla tra celle
- Seleziona range con mouse
6. Charts Integration (enableCharts={true})
- Crea grafici dai dati della griglia
- Tipi: barre, linee, torta, area, scatter
- Personalizzazione completa
7. Row Selection (rowSelection="multiple")
- Selezione multipla righe con checkbox
- Ctrl/Cmd + Click per selezione multipla
Differenze Community vs Enterprise
| Funzionalità | Community | Enterprise |
|---|---|---|
| Sorting, Filtering base | ✅ | ✅ |
| Pagination | ✅ | ✅ |
| Cell Editing | ✅ | ✅ |
| Sidebar | ❌ | ✅ |
| Excel Export | ❌ | ✅ |
| Advanced Filters | ❌ | ✅ |
| Row Grouping | ❌ | ✅ |
| Pivot Mode | ❌ | ✅ |
| Range Selection | ❌ | ✅ |
| Charts | ❌ | ✅ |
Codice di Esempio
typescript
import { AllEnterpriseModule } from "ag-grid-enterprise";
import { ModuleRegistry } from "ag-grid-community";
// Registra tutti i moduli Enterprise
ModuleRegistry.registerModules([AllEnterpriseModule]);
// Configurazione tema con stili sidebar e menu
const myTheme = themeQuartz.withParams({
// Menu contestuale
menuBackgroundColor: "cornflowerblue",
menuShadow: { radius: 10, spread: 5, color: "red" },
// Sidebar
sideBarBackgroundColor: "#08f3",
sideButtonSelectedUnderlineColor: "orange",
});
// Configurazione griglia
<AgGridReact
rowData={data}
columnDefs={columnDefs}
theme={myTheme}
defaultColDef={{
filter: true,
sortable: true,
resizable: true,
enableRowGroup: true, // Enterprise
enablePivot: true, // Enterprise
enableValue: true, // Enterprise
}}
sideBar={true} // Enterprise
rowSelection="multiple" // Enterprise
enableRangeSelection={true} // Enterprise
enableCharts={true} // Enterprise
/>Test Page
La pagina di test è disponibile solo in development all'URL:
Per accedere:
- Avvia il dev server:
npm run dev - Effettua il login
- Naviga a
/test-ag-grid
Troubleshooting
"Cannot find module 'ag-grid-enterprise'"
Esegui: npm install ag-grid-enterprise
Watermark "AG Grid Enterprise Trial"
Normale in development. Per rimuoverlo in produzione, configura una licenza valida con LicenseManager.setLicenseKey().
Sidebar non visibile
- Verifica che
sideBar={true}sia impostato - Cerca le icone sulla destra della griglia (piccole icone verticali)
- Verifica che AG Grid Enterprise sia installato
Esportazione Excel non disponibile nel menu
- Click destro su header della colonna (non su celle)
- Verifica che AG Grid Enterprise sia installato
- Menu → "Export" → "Excel Export (.xlsx)"