Package Exports
- @gridnexa/angular
Readme
GridNexa Angular Data Grid | Angular Table
Enterprise Angular data grid with Excel-like interactions, safe AI command support, typed column models, and design-system friendly styling.
GridNexa for Angular is a native Angular package for product teams building admin tools, dashboards, reporting screens, and spreadsheet-style workflows.
Quick Links
- Website: https://www.gridnexa.in/
- Docs and playground: https://www.gridnexa.in/docs/basic-grid
- Help: https://www.gridnexa.in/help
- Repository: https://github.com/mhalungekar9/SmartGrid
Install
npm install @gridnexa/angularpnpm add @gridnexa/angularBasic Usage
import { Component } from "@angular/core";
import { GridNexaAngularComponent, type Column } from "@gridnexa/angular";
interface Employee {
id: number;
name: string;
department: string;
city: string;
score: number;
adjustedScore: string;
}
@Component({
selector: "app-root",
standalone: true,
imports: [GridNexaAngularComponent],
template: `
<grid-nexa
[columns]="columns"
[rows]="rows"
[rowNumbers]="true"
[checkboxSelection]="true"
[enableFillHandle]="true"
[enableUndoRedo]="true"
[pageSize]="20"
theme="light"
density="standard"
[getRowId]="getRowId"
(rowSelectionChange)="onSelection($event)"
(cellValueChange)="onCellValueChange($event)"
/>
`,
})
export class AppComponent {
columns: Column<Employee>[] = [
{ id: "name", field: "name", headerName: "Name", sortable: true, filter: "text", editable: true },
{ id: "department", field: "department", headerName: "Department", filter: "set" },
{ id: "score", field: "score", headerName: "Score", filter: "number", editable: true },
{ id: "adjustedScore", field: "adjustedScore", headerName: "Adjusted" },
];
rows: Employee[] = [
{ id: 1, name: "John Carter", department: "Operations", city: "London", score: 92, adjustedScore: "=score * 1.05" },
{ id: 2, name: "Alice Moreau", department: "Product", city: "Paris", score: 87, adjustedScore: "=score * 1.05" },
];
getRowId = (row: Employee) => row.id;
onSelection(rows: Employee[]) {
console.log(rows);
}
onCellValueChange(event: unknown) {
console.log(event);
}
}AI Command Support
<grid-nexa
[columns]="columns"
[rows]="rows"
[ai]="{
enabled: true,
endpoint: '/api/gridnexa-ai',
placeholder: 'Ask AI to filter, sort, group, pivot, pin, hide, or export'
}"
/>Keep provider keys on your backend. GridNexa accepts safe action plans from OpenAI, Azure OpenAI, Anthropic, Gemini, local models, or an internal gateway.
Styling And Classes
Use className, classNames, getRowClassName, getCellClassName, getHeaderClassName, and column-level className, cellClassName, and headerClassName to connect Bootstrap, utility classes, CSS Modules, SCSS, Less, or plain CSS.
Feature Highlights
- Sorting, pagination, quick filter, column filters, external filters, and advanced filter model
- Selection, row numbers, clipboard operations, fill, find, undo, and redo
- Inline editing, formulas, CSV export, and Excel export
- Merged headers, column resize, drag reorder, hide/show, pinning, and row reorder
- Grouping, pivoting, tree data, master/detail, transactions, and server-side operation events
- AI command bar with safe action plans
Related Packages
@gridnexa/react@gridnexa/vue@gridnexa/javascript@gridnexa/core
License
MIT