Skip to content

Angular Data Grid

This page covers the key concepts of RevoGrid - a high-performance, customizable Angular Table and Angular Data Grid for managing large datasets.

Edit RG Cell (Angular Standalone)

INFO

This tutorial assumes that an Angular project has already been set up. If not, please refer to the official documentation Angular Installation

Install your Angular Data Grid

Install RevoGrid for Angular using the following command:

npm
npm i @revolist/angular-datagrid
pnpm
pnpm add @revolist/angular-datagrid
yarn
yarn add @revolist/angular-datagrid
bun
bun add @revolist/angular-datagrid

Standalone Components

Now you can import and reference your components in your consuming application in the same way you would with any other standalone Angular components:

ts
// app.component.ts
import { Component } from "@angular/core";
import { RevoGrid, Template } from "@revolist/angular-datagrid";

@Component({
  selector: "app-root",
  standalone: true,
  imports: [RevoGrid],
  template: `<revo-grid
    style="height: 200px; width: 200px"
    [columns]="columns"
    [source]="source"
></revo-grid>`
})
export class AppComponent {
  source = [
    {
      name: "1",
      details: "Item 1",
    },
    {
      name: "2",
      details: "Item 2",
    },
  ];
  columns = [
    {
      prop: "name",
      name: "First",
    },
    {
      prop: "details",
      name: "Second",
    },
  ];
}

Example

Edit RG Cell (Angular Standalone)

Dynamic Component Usage

When using RevoGrid with Angular 19+, there are known edge cases with dynamically loading or using the component in certain scenarios. The grid frame may render, but columns and source data may not display properly.

Known Symptoms:

  • Columns and source data might not render when the component is used dynamically.
  • Plugins and readonly properties may stop working in some dynamic scenarios.
  • Silent errors might occur without any visible error messages.

Related GitHub Discussion: GitHub Discussion #798

Helpful Resources:

If you encounter issues with dynamic component usage, please report them on GitHub Issues with details about your Angular version and setup.

Modules

Import your component library into your component. You must distribute your components through a primary NgModule to use your components in a standalone component.

ts
// app.module.ts
import { NgModule } from "@angular/core";
import { BrowserModule } from "@angular/platform-browser";
import { RevoGrid } from "@revolist/angular-datagrid";
import { AppComponent } from "./app.component";

@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule, RevoGrid],
  providers: [],
  bootstrap: [AppComponent],
})
export class AppModule {}
ts
// app.component.ts
import { Component } from "@angular/core";

@Component({
  selector: "app-root",
  template: `<revo-grid [source]='source' [columns]='columns'/>`,
})
export class AppComponent {
  source = [
    {
      name: "1",
      details: "Item 1",
    },
    {
      name: "2",
      details: "Item 2",
    },
  ];
  columns = [
    {
      prop: "name",
      name: "A",
    },
    {
      prop: "details",
      name: "B",
    },
  ];
}

Example

Edit RG Start (Angular Module)

Check out our Angular Data Grid examples