# ag-grid/ag-grid

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ag-grid-ag-grid).**

15,052 stars · 2,045 forks · TypeScript · other

## Links

- GitHub: https://github.com/ag-grid/ag-grid
- Homepage: http://www.ag-grid.com
- awesome-repositories: https://awesome-repositories.com/repository/ag-grid-ag-grid.md

## Topics

`angular` `angular-grid` `angular-table` `charting` `datagrid` `datatable` `excel` `filtering` `grid` `grouping` `javascript-table` `pagination` `pivoting` `react` `react-grid` `react-table` `sorting` `table` `vue-table` `vuejs`

## Description

AG Grid is a JavaScript data grid library designed for rendering and manipulating large datasets within web applications. It functions as a comprehensive toolset for building interactive tables that support complex data visualization, enabling the display of massive volumes of information while maintaining responsive user interactions.

The library distinguishes itself through a column-oriented layout engine and a plugin-based architecture that allows for modular extensions. It utilizes a cell-based component lifecycle and an expression-based evaluation engine to manage data updates and formatting, while an event-driven binding system ensures the interface remains synchronized with the underlying data model.

The grid provides a broad range of capabilities for enterprise-grade data management, including advanced filtering, sorting, and grouping operations. It is engineered to support the development of sophisticated spreadsheet-style applications and real-time dashboards by employing virtualized rendering to maintain performance during scrolling and data updates.

## Tags

### User Interface & Experience

- [Data Grids](https://awesome-repositories.com/f/user-interface-experience/data-grids.md) — A high-performance JavaScript component for rendering large datasets in interactive tables with complex sorting and filtering.
- [Data Tables](https://awesome-repositories.com/f/user-interface-experience/data-tables.md) — Provides a high-performance grid interface for rendering and interacting with large datasets in tabular formats. ([source](https://www.ag-grid.com/javascript-data-grid/getting-started/))
- [Data Visualization Libraries](https://awesome-repositories.com/f/user-interface-experience/data-visualization-libraries.md) — Provides tools for building sophisticated data-driven interfaces that handle massive volumes of information.
- [Virtualisation Engines](https://awesome-repositories.com/f/user-interface-experience/dom-rendering-engines/virtualisation-engines.md) — Renders only visible rows and columns by dynamically recycling DOM elements during scrolling to maintain high performance.
- [High-Performance Rendering](https://awesome-repositories.com/f/user-interface-experience/high-performance-rendering.md) — Manages and displays thousands of rows of data while maintaining smooth scrolling and responsive interactions.
- [Column Engines](https://awesome-repositories.com/f/user-interface-experience/flexible-grid-layouts/column-engines.md) — Calculates grid geometry by treating columns as independent layout units to allow for flexible resizing, pinning, and reordering.
- [Cell Lifecycles](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/lifecycle-state-management/component-lifecycle-management/cell-lifecycles.md) — Manages individual cell instances through a lightweight lifecycle that allows for custom rendering logic and efficient state updates.

### Part of an Awesome List

- [Data Tables](https://awesome-repositories.com/f/awesome-lists/data/data-tables.md) — Vue adaptor for the powerful data grid.
- [Data Grids](https://awesome-repositories.com/f/awesome-lists/devtools/data-grids.md) — Advanced data grid supporting multiple frameworks and web components.

### Business & Productivity Software

- [Spreadsheet Components](https://awesome-repositories.com/f/business-productivity-software/spreadsheet-components.md) — Supports the development of sophisticated spreadsheet-style applications with advanced data manipulation and cell editing.

### Web Development

- [Grid Dashboarding](https://awesome-repositories.com/f/web-development/real-time-data-streaming/grid-dashboarding.md) — Updates and displays live data streams within a grid interface to provide immediate insights.
- [Data Binding Systems](https://awesome-repositories.com/f/web-development/event-driven-architectures/data-binding-systems.md) — Synchronises the internal data model with the user interface by broadcasting granular events whenever the underlying dataset changes.

### Software Engineering & Architecture

- [Plugin-Based Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures.md) — Extends core grid functionality through modular components that hook into the internal event bus.
