Plugins 〉Datatable Panel


Developer

Brian Gann (bkgann@gmail.com)


Sign up to receive occasional product news and updates:



Panel
community

Datatable Panel

  • Overview
  • Installation
  • Change log
  • Related content

Grafana Datatable Panel

Marketplace Downloads License

Twitter Follow Release Build Known Vulnerabilities Maintainability Test Coverage

This panel plugin provides a Datatables.net table panel for Grafana 8.x/9.x/10.x

Screenshots

Paging enabled

Default Paging

Scrolling enabled

Scrolling

Light Theme with Paging

Light Theme with Paging

Numbered Rows and Compact Style

Numbered and Compact Rows

Options

Options Tab

Options

Same options as built-in table panel

Datatable Options Tab

Datatable Options

Table Display Options

  • Font Size - set font size of table content
  • Scroll - toggle for scrolling vs Paging
  • Paging Options
    • Rows Per Page - number of rows to display when paging is enabled
    • Paging type - multiple navigation options

Column Aliasing

  • Override the name displayed for a column

Column Width Hints

  • Provide a width "hint" in percentage or pixels ( 100px or 10% ). Note: The table will autosize as needed, but will use the hints provided.

Column Sorting

  • Sort table by any number of columns in ascending/descending order.

Table Options

  • Row Numbers - toggle to show row numbers
  • Length Change Enabled - top left dropdown for showing alternate page sizes
  • Search Enabled - toggle to allow searching table content (regex is enabled)
  • Info - Displays the "Show N of X entries" on bottom left of table
  • Cell Borders - show borders around each Cell (cannot be enabled with Row Borders)
  • Row Borders - show border between rows
  • Compact Rows - uses less padding for denser data display
  • Striped Rows - non-colored rows will be "striped" odd/even
  • Order Column - Highlights the column used for sorting
  • Hover - Highlights row on mouse hover

Theme Settings

  • Basic theme is currently the only option, more to be added

Thresholding

Row-based threshold coloring

Thresholding with Row Coloring

Cell based threshold coloring

Thresholding with Cell Coloring

Cell based threshold value coloring

Thresholding with Value Coloring

RowColumn threshold coloring

This option sets the row color to the "highest" threshold found for all cells in row.

It also sets the color for each cell according to the threshold (you can tell which columns actually exceeded the threshold).

This means - a row can have an overall color, with each cell indicating it's real threshold color.

Thresholding with RowColumn1

Thresholding with RowColumn2

RowColumn threshold coloring including row counter

Same as above, but with row counter included

Thresholding with RowColumn including row count

Features

  • Feature parity with built-in Grafana Table Panel
  • Row coloring uses the "highest" threshold color of all columns
  • New "RowColumn" threshold color option: Sets color to "highest" threshold found for all cells in row. Also sets color for each cell according to the threshold. This means - a row can have an overall color, with each cell indicating it's real threshold color.
  • Set font size for rows
  • Scrolling
  • Paging
    • Preset page sizes
    • Multiple paging types
    • Dropdown for page size
  • Row Numbers reactive to filtering
  • Searchable table content (filtering), regex enabled
  • Columns names can be aliased
  • URLs inside row text can be "clicked"
  • Rows can have a click-through URL
  • Multi-Column Sorting
  • Horizontal scrolling enabled when columns are wider than panel

TODO

  • [+] Column is not working

Building

This plugin relies on Yarn, typical build sequence:

yarn install
yarn build

For development, you can run:

yarn install
yarn watch

The code will be parsed then copied into "dist" if the build passes without errors.

Docker Support

A docker-compose.yml file is include for easy development and testing, just run

docker-compose up

Then browse to (http://localhost:3000)

RPM

A spec file is included to facilitate RPM based deployments, to generate run

make rpm

External Dependencies

  • Grafana 6.x/7.x

Build Dependencies

  • yarn

Acknowledgements

This panel is based on the "Table" panel by GrafanaLabs

Installing Datatable Panel on Grafana Cloud:

For more information, visit the docs on plugin installation.

Change Log

All notable changes to this project will be documented in this file.

[1.0.4] - 2023-09-11

  • Updates for compatibility with v10.x
  • Packages updated
  • Signature Fixed
  • Minor bug fix
  • NOTE: this plugin will be migrated to React soon!

[1.0.3] - 2020-12-05

  • NEW: Added mark plugin to highlight matching text in search results (from PR #98)
  • NEW: Align Number to right option (default is on)
  • FIX: Crash when regex formatter is empty: Issue #124
  • Plugin is now signed

[1.0.2] - 2020-06-26

  • NEW: column filtering option
  • Sorting is working correctly now Issues: #104
  • Row/Column coloring working again Issue: #100
  • Formatting working (general appearance problems) Issue: #105
  • Now loads with older versions of Grafana Issue: #97
  • Template variables inside links can now reference other cell content of same row number (Issue: #87)

[1.0.1] - 2020-05-02

  • pulled in file_export from older version of grafana for compatibility
  • add dependency file-saver require my file_export
  • v7 no longer suppolies isUTC setting from dashboard, test and default to false

[1.0.0] - 2020-04-21

  • Added option to use orthogonal data option to sort by value and not formatted value
  • Remove moment package
  • Updated to use new @grafana/toolkit build process
  • Packages updated
  • FIX: column index sorting was wrong when row numbers set true
  • FIX: light theme search area now more visible
  • NEW: time macros $__from, $__to, $__keepFrom will be replaced in clickable urls

[0.0.9] - 2019-09-07

  • Fix stringToJsRegex reference error

[0.0.8] - 2019-09-07

  • update packages

[0.0.7] - 2019-07-26

New features/bugfixes by contributor jmp0x00, thanks!! Conversion to typescript Updated all packages CircleCI added to publishing

(previous) Changelog

VersionChanges
0.0.1first release
0.0.2NEW: Added option for a cell or row to link to another page
NEW: Supports Clickable links inside table
BUGFIX: Fixed missing CSS files
BUGFIX: CSS files now load when Grafana has a subpath
NEW: Added multi-column sorting - sort by any number of columns ascending/descending
NEW: Column Aliasing - modify the name of a column as sent by the datasource
NEW: Column width hints - suggest a width for a named column
0.0.3BUGFIX: Saving State should now work - wrong option was in the datatable constructor
NEW: Export options for Clipboard/CSV/PDF/Excel/Print
BUGFIX: Columns from datasources other than JSON can now be aliased
BUGFIX: No data now clears table (issue #5)
0.0.4NEW: Now autoscrolls horizontally if number of columns is wider
than the rendered panel (issue #6)
0.0.5BUGFIX: SystemJS path changes for Grafana > 4.6
0.0.6BUGFIX: Compatibility for v5
1.0.0Update packages and convert to toolkit