Quick start
Last updated
Last updated
NOTE The Documentations shown on this website are meant for Angular-Slickgrid v7.x and higher, for older versions please refer to the project .
Install the Angular-Slickgrid
, and other external packages like Bootstrap
(Bootstrap is optional, you can choose other framework if you wish)
ngx-translate
ngx-translate
is now optional as of version 2.10.0
, see more info below at NOTE however, please note that @ngx-translate
is still going to be installed behind the scene just to make DI (dependency injection) build properly because of our use of @Optional()
but it should be removed by the build tree shaking process once you run a production build. See their version compatibility table below
16+
15.x
13+ (Ivy only)
14.x
10-13
13.x
8-9
12.x
7
11.x
angular.json
and tsconfig.app.json
files.angular-cli.json
Then modify your angular.json
file with the following Styles and Scripts:
Load the default Bootstrap theme style and/or customize it to your taste (either by using SASS or CSS variables)
Default compiled css
(if you use the plain Bootstrap Theme CSS, you could simply add it to your .angular-cli.json
file and be done with it).
Note: If you are also using Bootstrap-SASS
, then there is no need to include the bootstrap.css
in the styles: []
section.
Note Bootstrap is optional, you can use any other framework, other themes are also available as CSS and SCSS file extensions
slickgrid-theme-default.css
,slickgrid-theme-bootstrap.css
,slickgrid-theme-material.css
,slickgrid-theme-salesforce.css
Below are 2 different setups (with App Module (legacy) or Standalone) but in both cases the AngularSlickgridModule.forRoot()
is required, so make sure to include it. Also note that the GitHub demo is strictly built with an App Module which is considered the legacy approach.
Include AngularSlickgridModule
in your App Module (app.module.ts
) Note Make sure to add the forRoot
since it will throw an error in the console when missing.
If your app is using standalone style, go to app.config.ts
Then import the AngularSlickgridModule
to the app.component.ts
The new updated version of ng-packagr
use strict metadata and you might get errors about Lambda not supported
, to bypass this problem you can add the @dynamic
comment over the @NgModule
as shown below:
ngx-translate
for Localization (optional)To provide locales other than English (default locale), you have 2 options that you can go with. If you only use English, there is nothing to do (you can still change some of the texts in the grid via option 1.)
NOTE you still need to install @ngx-translate
(since it is a peer dependency) but it should be removed after doing a production build since it's optional.
Translation Keys
Also note that every time you want to use a translation key, you simply have to use a property with the Key
suffix. For example if you wish to have a column definition name
with a translation, just use the nameKey: 'TRANSLATE_KEY'
instead of name
. Below is a list of keys that can be used in the lib
name
nameKey
label
labelKey
title
titleKey
columnGroup
columnGroupKey
optionTitle
optionTitleKey
And finally, you are now ready to use it in your project, for example let's create both html/ts files for a grid-basic.component
example, configure the Column Definitions, Grid Options and pass a Dataset to the grid:
define Angular-Slickgrid in your View
The last step is really to explore all the pages that are available in the documentation, everything you need to use the library should be available in here and so you should visit it often. For example a good starter is to look at the following
HttpClient
?All Live Demo Examples have links to the actual code
If you would like to see the code to a particular Example, just click on the "see code" which is available in all live examples.
You could also compile the SASS files with your own customization, for that simply take any of the (without the !default
flag) variable file and make sure to import the Bootstrap Theme afterward. For example, you could modify your style.scss
with the following changes:
see this Stack Overflow for more details and Stackblitz demo
Using , that is when you use only 1 locale (other than English)... this is a new feature starting from version 2.10.0
and up.
Using , that is when you want to use multiple locales dynamically.
for all the Grid Options
, take a look at all the interface.
... and much more, just explore the Documentation through all the available pages.
You might notice that all demos are made with mocked dataset that are embedded in each examples, that is mainly for demo purposes, but you might be wondering how to connect this with an HttpClient
? Easy... just replace the mocked data, assigned to the dataset
property, by your HttpClient
call and that's it. The dataset
property can be changed at any time, which is why you can use local data and/or connect it to a Promise
or an Observable
with HttpClient
(internally it's just a SETTER that refreshes the grid). See for a demo showing how to load a JSON file with HttpClient
.
The best way to get started is to clone the , it has multiple examples and it is also updated frequently since it is used for the GitHub Bootstrap 5 demo page. Angular-Slickgrid
has 3 Bootstrap
repos, you can see a demo of each ones below.
/ (using ngx-translate
)
(single Locale, without using ngx-translate
)
The project supports Content Security Policy (CSP) as long as you provide an optional sanitizer
in your grid options (we recommend DOMPurify). Review the documentation for more info.
What if Angular-Slickgrid
is missing feature(s) versus the original SlickGrid
? Fear not and just use the SlickGrid
and DataView
objects directly, which are expose from the start through Custom Events. For more info continue reading on
Visit the section for more common errors.