← Back to the manual

Migrating from AG Grid to inandu-grid

A factual, side-by-side comparison for Angular apps moving off AG Grid's Community or Enterprise tier onto the MIT-licensed @inandu-solutions/grid-angular. Feature equivalents first, then what's genuinely different, so there are no surprises after you switch.

Try the live demo Read the full manual View on npm
Why teams migrate Row grouping, aggregates, Excel-compatible export and cell-range selection sit behind AG Grid's paid Enterprise licence. The same capabilities are free (MIT) in inandu-grid. If your app relies on AG Grid Enterprise's pivot table or integrated charts, inandu-grid does not have those — see what's different below before you commit to migrating.

Setup & data binding

ConceptAG Gridinandu-grid
Installag-grid-angular (+ ag-grid-community/ag-grid-enterprise)ng add @inandu-solutions/grid-angular
Component<ag-grid-angular><inandu-grid> + <inandu-column>
Row data[rowData][data]
Column definitions[columnDefs] array with field/headerNameone <inandu-column field title> per column, declared in the template
Cell value formattingvalueFormattertype + format on <inandu-column>, or a custom cell template

AG Grid's config-object style:

columnDefs = [
  { field: 'name', headerName: 'Name', sortable: true },
  { field: 'age', headerName: 'Age', sortable: true, filter: 'agNumberColumnFilter' },
];
rowData = people;

becomes inandu-grid's declarative template style:

<inandu-grid [data]="people" filter="true">
  <inandu-column field="name" title="Name" sortable="true" />
  <inandu-column field="age" title="Age" type="number" sortable="true" filter="yes" />
</inandu-grid>

Feature equivalents

FeatureAG Gridinandu-grid
Sortingsortable: true per column defsortable="true" per <inandu-column>, shift-click for multi-sort
Per-column filterfilter: 'agTextColumnFilter' etc.filter="yes" — type-aware popup, no per-type filter class to pick
Free-text / quick filter[quickFilterText]filter="true" on <inandu-grid>
Pagination[pagination]="true" + [paginationPageSize][paging]="{ pageSize: 25 }"
Row groupingrowGroup: true (Enterprise)groupable="true" — free
AggregatesaggFunc: 'sum' (Enterprise)showTotals + aggregate="sum" — free
Cell range selectionenableRangeSelection (Enterprise)cellRangeSelection (+ multiRange) — free
Excel exportapi.exportDataAsExcel() (Enterprise)free, SpreadsheetML .xls — a styled binary .xlsx is a @inandu-solutions/grid-pro feature
CSV exportapi.exportDataAsCsv()free, built in
Row selectionrowSelection: 'multiple'selectable="true"
Inline editingeditable: true per column defeditable="true" per <inandu-column>, plus required/min/max/pattern/[validator]
Column pinningpinned: 'left'sticky="true" (or "right")
Row drag reorderrowDragManagedrowReorder
Virtual scrollbuilt in (row model default)virtualScroll, opt-in
Server-side rowsServer-Side Row Model (Enterprise)serverSide + outputs — free; pairs with the .NET/EF Core companion for ASP.NET Core APIs
Tree dataTree Data (Enterprise)treeChildrenKey — free

What's different

inandu-grid is deliberately not a kitchen sink. Being honest about the gaps up front is cheaper than finding them mid-migration:

Migration checklist

Full API reference, every input/output, and runnable examples: see the user manual. Questions or migration issues: open an issue.