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.