Based on survey results and subsequent discussions, here’s what we decided for a table widget:
- Performance is #1
- Device requirements: performance and functionality will be determined by low-powered, ICS-based tablets, not older Honeycomb devices, not smart phones
- Table paging and navigation will be performed by next, prev, first, last, and #’s links
- The table will load 1 “page” of data at a time, if the rows don’t “fit” the vertical table size, users may scroll to see the rest of the page
- The table will not cache previous requests (to protect mobile devices; and if #1 is met, no need)
- All paging, filtering, sorting will be performed by the back-end; none in the client
- We will filter on only string data originating from the server for now. Filters on dates, UI-localized strings, enums, etc. will not function in the first release
- Code size should not exceed 200K (minified and gzip’d); the smaller the better
- We will only select a mature, well supported Table widget. We will not make our own.
- We would prefer a Theming model based on
- ThemeRoller for JQuery-Mobile
- if not ThemeRoller for JQuery
- if not code-specified style names
- anything goes - Table must by stylable as in our mockups
- Single select for now; likely multi-select for future
- In-row links / actions for now; likely top-of list actions for future
- No in-cell editing for now
- No “View As…” alternate views for now
- No conclusion on table width handling. However, most people would like to see columns shrink until it’s ridiculous, then hide low-priority columns altogether
- The table needs to support a distribution-friendly license
Next Steps – evaluate table controls along these criteria
- Those table controls that are still in the running after this analysis will be wired up against live / real data
- However, the data will be cached in the server in order to eliminate the server portion of the performance analysis (we want to see how well the grids perform …not how long the server takes to fulfill a request)
- We have narrowed the list to DataTables, jqGrid, and SlickGrid …and a quick peek at JQuery
- DataTables
- Home: http://datatables.net/
- Examples: http://www.datatables.net/examples/
- Tests: https://github.com/DataTables/DataTables/tree/master/media/unit_testing
- License: BSD or GPLv2
- Most notable features: 20K gzip’d, plugins for addl features; 2800 unit tests; 130 examples
- SlickGrid
- Home: https://github.com/mleibman/SlickGrid/wiki
- Examples: https://github.com/mleibman/SlickGrid/wiki/Examples
- Used By: https://github.com/mleibman/SlickGrid/wiki/Used-by
- License: MIT
- Current version: 2.0.1, actively developed
- Most notable features: speed, virtual rendering
- jqGrid
- Current version: 4.4.0, actively developed
- Home: http://www.trirand.com/blog/
- Examples: http://www.trirand.com/blog/jqgrid/jqgrid.html
- Demos: http://www.trirand.com/blog/jqgrid/downloads/jqgrid_demo38.zip
- License: MIT or GPL
- Most notable features: ?
- JQuery UI Grid – not really a candidate since it appears this component is currently on hold
- Home: http://wiki.jqueryui.com/w/page/34246941/Grid#jQueryUIGridProject
- Due to its development timeframe, it is unlikely we will use this widget.
- But since it’s part of the JQuery project, it would be good to learn more about it.
i like the design and presentation of the site.
Awesome,thanks i