.

.

CategoryFeaturesGridX v 1.0dgrid v 1.0 betaDataGrid v 1.7EnhancedGrid v 1.7

.

Common FeaturesSingle SortYYYY

.

Nested SortYPartially
- API Only
NY

.

Column ResizerYYYY

.

AutoHeight YYYY

.

AutoWidthYN?YY

.

Column Width Distribution
(Distribute column width smartly based on any flexible combinations of pixel/em/percentage or auto distributing)
YPartially?Very limitedVery limited

.

Indirect Selection (Row Selector)YYYY

.

PaginationYYYY

.

Editable CellYYYY

.

Always EditingYYYY

.

Cell WidgetYYPartially
- limited widgets
Partially
- limited widgets

.

Virtual Scrolling (lazy rendering)YYYY

.

Select row(s)YYYY

.

Select column(s)YNNY

.

Select cell(s)YYNY

.

Menu(head, row, column, cell or any selected regions)YNNY

.

Add/Remove row(s)YYYY

.

ResizeYYYY

.

Used as native listNYPartially
- by using 1 column and hidden header
Partially
- by using 1 column and hidden header

.

.

Row ConceptRow concept by row ID
(Get a row by row ID)
YYNN

.

Row concept by row index
(Get a row by row Index)
YNYY

.

.

Scroll To RowScrollToRow by row ID
(Can only scroll to a loaded row)
YYNN

.

ScrollToRow by row Index
(Can scroll to an arbitrary position no matter a row is loaded or not)
YNYY

.

.

Theming & SkinningAuto generation / Tooling supportNY
- jQuery ThemeRoller
NN

.

.

DnDDnD row(s) within gridYPartially
- adjacent rows only
NY

.

DnD column(s) within gridYPartially
- single column only
Partially
- single column only
Y

.

DnD cell(s) within gridNNNY

.

DnD row(s) between gridsYYNY

.

DnD row(s) from grid to non-grid target or vice versaYYNY

.

Copy row(s) between gridsYN?NN

.

DnD rows/columns/cells programically(by API)YN?NN

.

.

Extended SelectionSelect rows/columns/cells by swipingYNNY

.

Select rows/columns/cells by complete keyboard support
e.g. SHIFT + Arrow key
YN?NY

.

PersistencePreference Persistence(cookie)
- Column order/width, sort order
YNNY

.

Export & PrintExport content (selected rows/columns/cells) into CVS or customized formatsYNNY
- selected rows only

.

Print content(selected rows/columns/cells)YNNY
- selected rows only

.

.

Advanced View & LayoutColumn LockYYYY

.

Row LockY
- experimental in v 1.0
NNN

.

Details-on-Demand (Expandable row)
- Embed complex content(charting) within a expandable row
Y
- experimental in v 1.0
NNN

.

SummaryBar / TitleBar / ToolBarYNNN

.

Multi-subrows structureNYYY

.

Hidden column headerYYYY

.

Complex column header
(rowspan or colspan in header only)
N, in planN?NN

.

Hidden columnsN, in planYYY

.

.

FilterQuickFilterYNNN

.

Arbitrary combination of filter conditions e.g. match "any", "all"YNNY

.

Server side filterYNNY

.

Client side filterYNNY

.

Identify unfilterable columnsYNNY

.

Adaptive filterN, in planNNN

.

Advanced Filter DialogYNNN

.

.

Store supportSupport dojo.data.* and dojox.data.* APIYY (with dojo/store/DataStore adapter)YY

.

Support new dojo.store.* APIYYNN

.

.

Capability for huge data store(1 Million+ rows)Unlimited number of rows in virtual scrolling mode (1 Million+ row)YOnly in Chrome?NN

.

Huge number of rows in pagination modeYYNY

.

Caching machinery
- A configurable max threshold of item number on client side
- Stable memory when a user keep scrolling for a long time
YNot applicable
- always fetching rows from server
NN

.

Lazy scrolling
- Avoid any obsolete data fetching requests
- Significantly improve scrolling/rendering speed
YNNN

.

.

TreeGridUnlimited levels of hierarchical data structureYYY
- TreeGrid
Y
- LazyTreeGrid

.

Single expando columnYYY
- TreeGrid
Y
- LazyTreeGrid

.

Multiple expando columnsYNY
- TreeGrid
N

.

Lazy scrolling(rendering) root level rowsYYY
- TreeGrid
Y
- LazyTreeGrid

.

Lazy scrolling(rendering) huge children rowsYN?NY
- LazyTreeGrid

.

Programically expand/collapse a row by API YNNPartially
- LazyTreeGrid

.

.

i18ni18n + (RTL BiDi)YYYY

.

.

A11YKeyboardY
- Comprehensive keyboard support
- Module specific principles
- Highly expandable for future modules
Y
- Common keyboard support
YY

.

High contrastPartially
- enhancement in progress
?YY

.

ARIA(JAWS)Partially
- enhancement in progress
Partially
- Common ARIA attrs?
YY

.

.

MobileTouch scrolling supportYYNN

.

SortYYNN

.

Lazy loadingY
- Native mobile-style lazy loading
Y
- desktop-style lazy scrolling
NN

.

PaginationN, in planYes
- desktop-style pagination
NN

.

Column LockN, in plan?NN

.

DnDN, in plan?NN

.

SelectionN, in planYNN

.

.

PerformanceCore Size (KB, gzipped)12KB55KB

.

Dojo dependencies (KB, gzipped)20KB35KB

.

TODO: Page load time comparisons?

.

.

Browsers/PlatformsTODO: Add list of desktop and mobile browsers

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.