The single, most asked question with the Dojo 0.9 release has been, “Where’s the grid widget?” We’re finally able to address this request with today’s announcement that SitePen, Mozilla Foundation, Nexaweb Technologies, Redfin, & SnapLogic Announce Open Source Contribution of TurboAjax Group’s High-Performance Grid Widget to Dojo Foundation.
For those of you familiar with the existing TurboGrid widget, you’ll be happy to know that the same great performance and feature set are currently being ported to the 1.0 codebase, with support for Dijit and all of the great features Dijit offers (CSS theming, a11y, il8n, dojo.data, etc.).
We expect the grid to be ready in time for the Dojo 1.0 release, currently slated for mid-to-late October. The feature set and performance of the grid is exceptional and we hope that the JavaScript development community will make significant use of this highly performant, feature-rich, and accessible data grid that will be available under the liberal BSD license. Specifically, the expected feature set includes the following:
- General Features
- Browser support matching Dojo 1.0: IE6/7, Firefox 2/3, and Safari 3 on Windows, Safari 3 and Firefox 2/3 on Mac, and Firefox 2/3 on Linux. Opera support will follow.
- Subgrids, nested grids, and tree grids
- In-place editing
- Context menus and tooltips specific to a particular row or column
- Data sorting through sort functions or custom sort filter functions
- Cell formatters for separation of data from layout
- Documentation and unit tests
- Dijit Features
- Standard Dijit with markup and declarative instantiation
- Data binding between data columns and grid columns, and dojo.data provider support
- il8n and a11y
- Grid events for easy manipulation and event handling for event-driven application development
- Keyboard support, including cell selection
- Theme infrastructure with structured CSS in dijit.css and tundra.css
- Rows, Columns, formatting, and more
- Virtual scrolling: 100,000+ rows without performance lags
- User sizable columns
- Complex rows of various widths and heights, just like HTML tables
- Cells, rows, and columns may be patterned based on pattern or state
- Fixed position columns
- Column dimensions specified in a variety of CSS units, not just pixels
- dojo.connect calls to selectively show/hide portions of rows
- Optional auto-sizing to fill content or a container node
- Auto-adjust dimensions in response to user-controlled font-size adjustments
- Variable row height
- Selection by row and multirows
- Column layout may be changed on the fly by users and code
- Resizing of the grid on the fly by users and code
We’ve received tremendous community sponsorship in the form of development efforts to port the grid to the new Dojo codebase, which has not been a small undertaking given the broad feature set and resulting complexity of the grid widget. We’ve also received major commitments to add new features to the Dojo Grid such as accessibility, internationalization, and dojo.data integration. And SitePen, of course, is also contributing both in financial sponsorship and ongoing development efforts, as well as leading the charge to make the Grid an Open Source reality. This is an excellent example of open source collaboration and the amazing things that happen when intelligent organizations work together to make a difference.

Pingback: Ajaxian » Plugging in to the Dojo Grid
Pingback: Dojo Gains A Grid » By Don Albrecht » article » Ajax Bestiary
Pingback: Dojo Inherits a Grid by jpsykes
Pingback: John Resig - Freeing the Grid
Pingback: SitePen Blog » Blog Archive » Dojo Grid Update
Pingback: Hack Your Life » Blog Archive » HOWTO: Dojo Grid, Checkbox Selection
Pingback: SitePen Blog » Blog Archive » Bayeux as JSON, Python Cometd Improvements
Pingback: SitePen Blog Blog » Simple Dojo Grids
Pingback: Continuing Intermittent Incoherency » Dojo 1.x: Industrial Strength Open Web Tech
Pingback: zachleat.com {web} » Rethinking JavaScript Grids and DataTables
Pingback: Enyo shows us a some skin; Sneak peak at a fantastic new mobile Web Touch framework on Dion Almaer's Blog