SlickGrid is a fully open-source, javascript, client-side grid control, based on jQuery and jQueryUI and compatible with Bootstrap.
The grid is designed to take an external component as a datasource, and that means SlickGrid should be compatible with a wide range of modern data-centric frameworks.

Check out a Sample Slickgrid pic

Key Links

Main GitHub Repository (github.com/6pac/SlickGrid)

It is *not recommended* to use the original MLeibman SlickGrid repository, since it has not been maintained since 2014
jQuery 1.x, 2.x, and 3.x are supported

Official Releases

Wiki (Docs and API reference)

Comprehensive Examples

Current Issues (bug fixes and feature requests only, please!)

NPM - npm install slickgrid

General support - ask on StackOverflow, tag 'slickgrid'

Slickgrid Background, Alternatives and Philosophy

Slickgrid is an open source project. While the project is active and stable, it is not polished or comprehensively documented. Support is largely self-help, but assistance may be offered on StackOverflow or GitHub by volunteer contributors.

If you wish to use something more polished with a similar feature set, I'd recommend Ag-Grid. Ag-Grid has a great free feature set, additional paid features and excellent documentation.

Slickgrid is extremely well architected, modular and easy to customise. It is best regarded as a toolkit - the foundations are rock solid, but it's likely you will have to make minor tweaks to get it to do exactly what you want. This is actually its strength. MLeibman said it best:

The key difference is between SlickGrid and other grid implementations I have seen is that they focus too much on being able to understand and work with data (search, sort, parse, ajax load, etc.) and not enough on being a better “grid” (or, in case of editable grids, a spreadsheet). It’s great if all you want to do is “spruce up” an HTML TABLE or slap a front end onto a simple list, but too inflexible for anything else.
Data is complicated. It has business rules. It has non-intrinsic properties. Editing one property of an element can lead to cascading changes modifying other properties or even other elements. It has dependencies. What I’m saying, is that dealing with data is best left to the developer using the grid control. Trying to fit all of that into the grid implementation and API will only limit its applicability and add considerable bloat.

There are many display grids available. Fewer grids support good editing features. Very few do so elegantly and extensibly. Slickgrid's peers can be counted on one hand.
Slickgrid will support the building of very complex editing features, and offers great flexibility in both editing and display.