A lightweight, mobile-ready, data-driven, modular grid widget designed for use with the Dojo object store
JavaScript PHP
Pull request Compare This branch is 1033 commits behind SitePen:master.
Failed to load latest commit information.
css Fix #142, fix #370: Revise ColumnResizer CSS to avoid misalignment Dec 19, 2012
demos Clean up declare usages to avoid arrays and repetitive inheritance Oct 3, 2012
extensions Pagination: added support to Portuguese language (Brazil) Dec 26, 2012
test Fix Pagination showLoadingMessage changes to not disrupt tree rendering Dec 21, 2012
util Ensure extra stylesheet for addCssRule isn't added before dgrid.css Dec 21, 2012
CHANGES.md Fix #219: add showLoadingMessage option to Pagination Dec 21, 2012
CellSelection.js Clean up declare usages to avoid arrays and repetitive inheritance Oct 3, 2012
ColumnSet.js ColumnSet: fix clicking in scrollbar "gap" in IE and fix bodyNode adj… Dec 21, 2012
Grid.js Fix #373: don't call updateSortArrow when initially rendering header Dec 22, 2012
GridFromHtml.js Make GridFromHtml only extend Grid, so it can be used with Pagination Sep 24, 2012
GridWithColumnSetsFromHtml.js Fix newline format Oct 4, 2012
Keyboard.js Clean up declare usages to avoid arrays and repetitive inheritance Oct 3, 2012
LICENSE Fix newline format Oct 4, 2012
List.js Cleanup for c31d76, plus changelog update Dec 21, 2012
OnDemandGrid.js rename table to grid May 13, 2011
OnDemandList.js OnDemandList: re-run _processScroll upon resize; partially resolves #361 Dec 21, 2012
README.md Update README.md Nov 1, 2012
Selection.js Update css-user-select has test to match dojo ticket 15990 Dec 21, 2012
TouchScroll.js Fix #344: TouchScroll: Don't cancel touchmove if area can't scroll Dec 17, 2012
_StoreMixin.js Further event normalization fixes Nov 2, 2012
editor.js editor: add comment clarifying code for reverting always-on editors Nov 13, 2012
package.js I definitely did not leave a console.log in the package.js. Jun 1, 2012
package.json Tweak package.json version number for dev of next patch Dec 3, 2012
selector.js Make column definition objects optional to OOTB plugins; refs #324 Nov 5, 2012
tree.js Make column definition objects optional to OOTB plugins; refs #324 Nov 5, 2012


This project provides widgets for lists of data, including simple sets of scrolling rows, grids of data, on-demand lazy-loaded data, and various plugins for additional functionality. This project also provides touch scrolling for mobile devices with native style momentum, bouncing, and scrollbars.

The dgrid project is available under the same dual BSD/AFLv2 license as the Dojo Toolkit.


Automatic Download with CPM

dgrid can be installed via CPM using the following command:

cpm install dgrid

The above command will automatically find the highest tagged version of dgrid and install it. Alternatively, the latest development version of dgrid can be installed by instructing CPM to install from the master branch:

cpm install dgrid master

Note that while dgrid lists the dojo package as a dependency, it does not install dijit, as it is not a hard requirement. Dijit can be additionally installed by running:

cpm install dijit

Manual Download

Alternatively, dgrid and its dependencies can be downloaded individually:

  • xstyle
  • put-selector
  • The Dojo Toolkit SDK version 1.7 or higher
    • Out of the DTK components, Dojo core is the only hard dependency for dgrid; however, some of the test pages also use components from Dijit, and Dojox (namely grid for a comparison test, and mobile for a mobile page).

It is recommended to arrange all dependencies as siblings, resulting in a directory structure like the following:

  • dgrid
  • dijit (optional, dependency of some dgrid tests)
  • dojo
  • dojox (optional, dependency of some dgrid tests)
  • put-selector
  • xstyle
  • util (optional, e.g. if pursuing a custom build)

dgrid works best with the latest revision of Dojo 1.7 or higher. As of this writing, Dojo 1.8.1 is recommended.

Note that while dgrid supports Dojo 1.8 and may take advantage of features or fix issues specific to it where possible, it does not have any hard dependency on APIs new to 1.8, so as to maintain compatibility with 1.7.


Documentation for dgrid components is available in the dgrid GitHub project wiki. The wiki's content may still be obtained for offline reading by cloning the wiki repository, as indicated under the "Git Access" tab.

In addition to the documentation on the wiki, if upgrading from a previous dgrid release, please be sure to read the changelog, found in CHANGES.md.