JavaScript Grids
ZingChart has a basic grid type built in to display your chart data as a table. For more interactive tables and grids with data visualization features, check out ZingGrid!
ZingGrid is a JavaScript library for rendering grids and data tables. ZingGrid's main focus is on fast, responsive, and customizable grids utilizing ES6 and native web components. The goal is to solve the problem of creating a CRUD grid in under five minutes. With an appropriate REST endpoint, this is easily achievable. Download ZingGrid for free here.
Note: See our Grid Chart Gallery for inspiration on all the different grid chart possibilities.
Grid Chart Type
Add a type attribute to your chart object and set the value to grid.
{
type: 'grid'
}
Data
Grid charts support a series array of objects.
String/Number Array
Create a series object array. Each object corresponds to a row in the grid. Within each object, create a values array of numbers and/or strings to populate each cell of a row.
{
type: 'grid',
series: [ // Array of objects
{
values: [ // Array of numbers | strings
(Row 1-Col 1),
(Row 1-Col 2),
...,
(Row 1-Col N)
]
},
{
values: [
(Row 2-Col 1),
(Row 2-Col 2),
...,
(Row 2-Col N)
]
},
...,
{
values: [
(Row N-Col 1),
(Row N-Col 2),
...,
(Row N-Col N)
]
}
]
}
Grid-Specific Properties
JavaScript grids include a number of unique chart-specific properties that allow you to manipulate the appearance and behaviors of your HTML5 grid. They can be implemented into your chart by placing them within an options object.
Header Column
The headerCol attribute sets whether the grid has a header column or not. It can be added by setting the headerCol attribute to true, or by creating an empty headerCol object.
{
options: {
headerCol: true
}
}
Header Row
The headerRow attribute sets whether the grid has a header row or not. It can be added by setting the headerRow attribute to true, or by creating an empty headerRow object.
{
options: {
headerRow: true
}
}
Header Row Labels
The rowLabels attribute defines the labels of the grid rows. To display the row labels, also set headerCol to true.
{
options: {
headerCol: true,
rowLabels: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15'],
}
}
Column Labels
The colLabels attribute defines the labels of the grid columns. To display the column labels, also set headerRow to true.
{
options: {
headerRow: true,
colLabels: ['First Name', 'Last Name', 'Birthday', 'Country'],
}
}
Column Widths
The colWidths attribute defines the widths of the grid columns, specified either in fixed values or as a percentage.
{
options: {
colWidths: [ '5%', '25%', '25%', '15%', '5%', '25%' ],
}
}
Classes
The dataClass attribute sets an array of class names which will be applied on each column.
If the attribute appears on the series object, the style will be applied on the data cells, otherwise, on the header cells.
{
options: {
dataClass: ['fillRed', 'fillGreen', 'fillBlue', 'fillOrange']
},
series: [
{
values: ['Jon', 'Anderson', 'January 9, 1957', 'United Kingdom'],
dataClass: ['strokeRed', 'strokeGreen', 'strokeBlue', 'strokeOrange']
},
}
Flat
The flat attribute sets whether the grid cells are clickable or not. Enter a boolean value.
{
options: {
flat: true
}
}
Force Height
The forceHeight attribute forces the grid to fill the entire height of the plotarea.
{
options: {
forceHeight: true
}
}
Using Data Sources
Graph
Set the graph attribute to the ID of chart that the grid is being linked with.
Note that the graph and grid has to be within the same graphset and the chart must by assigned the id attribute.
{
options: {
dataSource: {
graph: '...'
}
}
}
Scale
Set the scale attribute to the name of the scale from which the column labels are being imported.
{
options: {
dataSource: {
scale: '...'
}
}
}
Further Customization
Once you have your basic grid, you can customize and style it to fit your data visualization needs.
Styling Attributes
The following attributes can be used to style grid charts:
| Attribute | Description |
|---|---|
.td |
Defines the style for grid cells |
.td_3 |
Defines the style for grid cells on column 3 |
.td_2_3 |
Defines the style for grid cells on row 2, column 3 |
.td_even |
Defines the style for the even grid cells |
.td_odd |
Defines the style for the odd grid cells |
.td_first |
Defines the style for the first grid cells |
.td_last |
Defines the style for the last grid cells |
.th |
Defines the style for the header cells |
.th_3 |
Defines the style for the header cells on column 3 |
.th_even |
Defines the style for the even header cells |
.th_odd |
Defines the style for the odd header cells |
.th_first |
Defines the style for the first header cells |
.th_last |
Defines the style for the last header cells |
.tr |
Defines the style for the grid rows |
.tr_3 |
Defines the style for the grid rows on row 3 |
.tr_even |
Defines the style for the even grid rows |
.tr_odd |
Defines the style for the odd grid rows |
.tr_first |
Defines the style for the first grid rows |
.tr_last |
Defines the style for the last grid rows |