1 | ||||||
---|---|---|---|---|---|---|
2 | Category | Features | GridX v 1.0 | dgrid v 1.0 beta | DataGrid v 1.7 | EnhancedGrid v 1.7 |
3 | Common Features | Single Sort | Y | Y | Y | Y |
4 | Nested Sort | Y | Partially - API Only | N | Y | |
5 | Column Resizer | Y | Y | Y | Y | |
6 | AutoHeight | Y | Y | Y | Y | |
7 | AutoWidth | Y | N? | Y | Y | |
8 | Column Width Distribution (Distribute column width smartly based on any flexible combinations of pixel/em/percentage or auto distributing) | Y | Partially? | Very limited | Very limited | |
9 | Indirect Selection (Row Selector) | Y | Y | Y | Y | |
10 | Pagination | Y | Y | Y | Y | |
11 | Editable Cell | Y | Y | Y | Y | |
12 | Always Editing | Y | Y | Y | Y | |
13 | Cell Widget | Y | Y | Partially - limited widgets | Partially - limited widgets | |
14 | Virtual Scrolling (lazy rendering) | Y | Y | Y | Y | |
15 | Select row(s) | Y | Y | Y | Y | |
16 | Select column(s) | Y | N | N | Y | |
17 | Select cell(s) | Y | Y | N | Y | |
18 | Menu(head, row, column, cell or any selected regions) | Y | N | N | Y | |
19 | Add/Remove row(s) | Y | Y | Y | Y | |
20 | Resize | Y | Y | Y | Y | |
21 | Used as native list | N | Y | Partially - by using 1 column and hidden header | Partially - by using 1 column and hidden header | |
22 | ||||||
23 | Row Concept | Row concept by row ID (Get a row by row ID) | Y | Y | N | N |
24 | Row concept by row index (Get a row by row Index) | Y | N | Y | Y | |
25 | ||||||
26 | Scroll To Row | ScrollToRow by row ID (Can only scroll to a loaded row) | Y | Y | N | N |
27 | ScrollToRow by row Index (Can scroll to an arbitrary position no matter a row is loaded or not) | Y | N | Y | Y | |
28 | ||||||
29 | Theming & Skinning | Auto generation / Tooling support | N | Y - jQuery ThemeRoller | N | N |
30 | ||||||
31 | DnD | DnD row(s) within grid | Y | Partially - adjacent rows only | N | Y |
32 | DnD column(s) within grid | Y | Partially - single column only | Partially - single column only | Y | |
33 | DnD cell(s) within grid | N | N | N | Y | |
34 | DnD row(s) between grids | Y | Y | N | Y | |
35 | DnD row(s) from grid to non-grid target or vice versa | Y | Y | N | Y | |
36 | Copy row(s) between grids | Y | N? | N | N | |
37 | DnD rows/columns/cells programically(by API) | Y | N? | N | N | |
38 | ||||||
39 | Extended Selection | Select rows/columns/cells by swiping | Y | N | N | Y |
40 | Select rows/columns/cells by complete keyboard support e.g. SHIFT + Arrow key | Y | N? | N | Y | |
41 | Persistence | Preference Persistence(cookie) - Column order/width, sort order | Y | N | N | Y |
42 | Export & Print | Export content (selected rows/columns/cells) into CVS or customized formats | Y | N | N | Y - selected rows only |
43 | Print content(selected rows/columns/cells) | Y | N | N | Y - selected rows only | |
44 | ||||||
45 | Advanced View & Layout | Column Lock | Y | Y | Y | Y |
46 | Row Lock | Y - experimental in v 1.0 | N | N | N | |
47 | Details-on-Demand (Expandable row) - Embed complex content(charting) within a expandable row | Y - experimental in v 1.0 | N | N | N | |
48 | SummaryBar / TitleBar / ToolBar | Y | N | N | N | |
49 | Multi-subrows structure | N | Y | Y | Y | |
50 | Hidden column header | Y | Y | Y | Y | |
51 | Complex column header (rowspan or colspan in header only) | N, in plan | N? | N | N | |
52 | Hidden columns | N, in plan | Y | Y | Y | |
53 | ||||||
54 | Filter | QuickFilter | Y | N | N | N |
55 | Arbitrary combination of filter conditions e.g. match "any", "all" | Y | N | N | Y | |
56 | Server side filter | Y | N | N | Y | |
57 | Client side filter | Y | N | N | Y | |
58 | Identify unfilterable columns | Y | N | N | Y | |
59 | Adaptive filter | N, in plan | N | N | N | |
60 | Advanced Filter Dialog | Y | N | N | N | |
61 | ||||||
62 | Store support | Support dojo.data.* and dojox.data.* API | Y | Y (with dojo/store/DataStore adapter) | Y | Y |
63 | Support new dojo.store.* API | Y | Y | N | N | |
64 | ||||||
65 | Capability for huge data store(1 Million+ rows) | Unlimited number of rows in virtual scrolling mode (1 Million+ row) | Y | Only in Chrome? | N | N |
66 | Huge number of rows in pagination mode | Y | Y | N | Y | |
67 | Caching machinery - A configurable max threshold of item number on client side - Stable memory when a user keep scrolling for a long time | Y | Not applicable - always fetching rows from server | N | N | |
68 | Lazy scrolling - Avoid any obsolete data fetching requests - Significantly improve scrolling/rendering speed | Y | N | N | N | |
69 | ||||||
70 | TreeGrid | Unlimited levels of hierarchical data structure | Y | Y | Y - TreeGrid | Y - LazyTreeGrid |
71 | Single expando column | Y | Y | Y - TreeGrid | Y - LazyTreeGrid | |
72 | Multiple expando columns | Y | N | Y - TreeGrid | N | |
73 | Lazy scrolling(rendering) root level rows | Y | Y | Y - TreeGrid | Y - LazyTreeGrid | |
74 | Lazy scrolling(rendering) huge children rows | Y | N? | N | Y - LazyTreeGrid | |
75 | Programically expand/collapse a row by API | Y | N | N | Partially - LazyTreeGrid | |
76 | ||||||
77 | i18n | i18n + (RTL BiDi) | Y | Y | Y | Y |
78 | ||||||
79 | A11Y | Keyboard | Y - Comprehensive keyboard support - Module specific principles - Highly expandable for future modules | Y - Common keyboard support | Y | Y |
80 | High contrast | Partially - enhancement in progress | ? | Y | Y | |
81 | ARIA(JAWS) | Partially - enhancement in progress | Partially - Common ARIA attrs? | Y | Y | |
82 | ||||||
83 | Mobile | Touch scrolling support | Y | Y | N | N |
84 | Sort | Y | Y | N | N | |
85 | Lazy loading | Y - Native mobile-style lazy loading | Y - desktop-style lazy scrolling | N | N | |
86 | Pagination | N, in plan | Yes - desktop-style pagination | N | N | |
87 | Column Lock | N, in plan | ? | N | N | |
88 | DnD | N, in plan | ? | N | N | |
89 | Selection | N, in plan | Y | N | N | |
90 | ||||||
91 | Performance | Core Size (KB, gzipped) | 12KB | 55KB | ||
92 | Dojo dependencies (KB, gzipped) | 20KB | 35KB | |||
93 | TODO: Page load time comparisons? | |||||
94 | ||||||
95 | Browsers/Platforms | TODO: Add list of desktop and mobile browsers | ||||
96 | ||||||
97 | ||||||
98 | ||||||
99 | ||||||
100 | ||||||
101 | ||||||
102 | ||||||
103 | ||||||
104 | ||||||
105 | ||||||
106 | ||||||
107 | ||||||
108 | ||||||
109 | ||||||
110 | ||||||
111 | ||||||
112 | ||||||
113 | ||||||
114 | ||||||
115 |
1 | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | GridX v 1.0 Feature Compatibility Matrix | ||||||||||||||||||||||||||||
3 | Modules | VirtualVScroller | VScroller | Focus | ColumnResizer | SingleSort | NestedSort | CellWidget | Edit | ColLock | RowLock | SelectRow | SelectColumn | SelectCell | ExtendedSelectRow | ExtendedSelectColumn | ExtendedSelectCell | IndirectSelect | FilterBar | QuickFilter | PaginationBar | PaginationBarDD | DnDRow | DnDColumn | Menu | DoD | Persist | Exporter | Printer |
4 | VirtualVScroller | -- | |||||||||||||||||||||||||||
5 | VScroller | -- | -- | ||||||||||||||||||||||||||
6 | Focus | Y | Y | -- | |||||||||||||||||||||||||
7 | ColumnResizer | Y | Y | Y | -- | ||||||||||||||||||||||||
8 | SingleSort | Y | Y | Y | Y | -- | |||||||||||||||||||||||
9 | NestedSort | Y | Y | Y | Y | -- | -- | ||||||||||||||||||||||
10 | CellWidget | Y | Y | Y | Y | Y | Y | -- | |||||||||||||||||||||
11 | Edit | Y | Y | Y | Y | Y | Y | Y | -- | ||||||||||||||||||||
12 | ColumnLock | Y | Y | Y | Y | Y | Y | Y | Y | -- | |||||||||||||||||||
13 | RowLock | TBD | Y | Y | Y | Y | Y | Y | Y | Y | -- | ||||||||||||||||||
14 | SelectRow | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | -- | |||||||||||||||||
15 | SelectColumn | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | -- | ||||||||||||||||
16 | SelectCell | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | -- | |||||||||||||||
17 | ExtendedSelectRow | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | -- | Y | Y | -- | ||||||||||||||
18 | ExtendedSelectColumn | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | -- | Y | Y | -- | |||||||||||||
19 | ExtendedSelectCell | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | -- | Y | Y | -- | ||||||||||||
20 | IndirectSelect | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | -- | |||||||||||
21 | FilterBar | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | -- | ||||||||||
22 | QuickFilter | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | -- | |||||||||
23 | PaginationBar | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | -- | ||||||||
24 | PaginationBarDD | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | -- | -- | |||||||
25 | DnDRow | Y | Y | Y | Y | N/A | N/A | Y | Y | Y | TBD | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | -- | ||||||
26 | DnDColumn | Y | Y | Y | Y | Y | Y | Y | Y | TBD | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | -- | |||||
27 | Menu | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | -- | ||||
28 | DoD | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | -- | |||
29 | Persist | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | -- | ||
30 | Exporter | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | -- | |
31 | Printer | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | -- |
32 | Tree | Y | Y | Y | Y | Partially | Partially | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | TBD | TBD | Y | Y | TBD | Y | Y | TBD | Y | TBD | TBD |
1 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | DGrid Feature Compatibility Matrix | ||||||||||||
3 | Features | Virtual Scroll | RowSelection | CellSelection | Keyboard | Pagination | Row DnD | ColumnResizer | ColumnReorder | ColumnHider | editor | selector | sort |
4 | VirtualScroll | -- | |||||||||||
5 | RowSelection | Y | -- | ||||||||||
6 | CellSelection | Y | N | -- | |||||||||
7 | Keyboard | Y | Y | Y | -- | ||||||||
8 | Pagination | Y | Y | Y | Y | -- | |||||||
9 | Row DnD | Y | Y | N | Y | Y | -- | ||||||
10 | ColumnResizer | Y | Y | Y | Y | Y | Y | -- | |||||
11 | ColumnReorder | Y | Y | Y | Y | Y | Y | Y | -- | ||||
12 | ColumnHider | Y | Y | N | Y | Y | Y | Y | N | -- | |||
13 | editor | Y | Y | Y | Y | Y | Y | Y | Y | Y | -- | ||
14 | selector | Y | Y | N | Y | Y | N | Y | Y | Y | Y | -- | |
15 | sort | Y | N | N | Y | Y | N | Y | Partial | Y | Y | Y | -- |
16 | tree | Y | Y | Y | Y | Y | N | Y | Y | Y | Y | Y | N |