Subscribe to Nothing Interesting        RSS Feed

Datagrids, a run down.

Icon 4 Comments
So I posted a topic asking the community what data grids they used and what they suggested. Ironically there wasn't as much chatter about this as I was expecting. Because of this I figured I would detail what a data-grid is and the current solutions available with their pros and cons.

What is a data-grid?
To keep it simple, well, it's a grid that contains data. Anyone that has ever used a spreadsheet on a computer (which should be anyone on has been working with a data grid. When creating/selecting a data grid for your software application you will want a solution that covers the most of the following:

  • Easy digestion of data
  • Clean and readable layout
  • Complete control of data grid (column names, order, etc)
  • Editable data with ajax update
  • Theme control
  • Sorting
  • Pagination
  • Filtering
  • Search
  • Downgrades for legacy browsers

The following data-grids are the data grids that I could dig up from the internet (if you know of anymore please feel free to leave them in the comments).

1. Sencha
Attached Image

The Pros
By far the most complete data-grid system offered (they offer GUI's,graphs, and other misc. JS things as well), Sencha dwarfs any other data-grid system currently offered for web development. This is free to try and use in non-commercial uses and Sencha has just realeased an IDE for their framework called the Sencha Designer. Seriously, there is too much to document here so go check it out at their site.

The Cons
1.) The entire system is Javascript based. In my field where I would sell data-grids that could really harness the power of Sencha, they run the possibility of JS being turned off for security reasons. While this may be low, it is also something to think about and verify before choosing Sencha as your solution.
2.) The learning curve is huge. Being somewhat knowledgeable in Javascript it took me a little while to finally understand what was going on with the system and it's mainly because since ALL of the system is created through the Javascript (no HTML and a little server side scripting) you have a lot of lines of code. Luckily Sencha comes with numerous complete examples for you to take and build upon.
3.) The price tag is pretty steep for most small business or personal situations. However, do a cost-benefits analysis and make your decision. You may spend as much time ( thus costing the client the same amount of money ) building out similar or a less intuitive data-grid.

Sencha Conclusion
So in the end I give Sencha 4.75 stars out of 5 because it's downfalls won't be drawbacks if the developer does their research in the beginning. If using ALL JS won't be a problem then it is definitely the choice for most data-grid situations.

2. jqGrid
Attached Image

The Pros
jqGrid is basically the grid portion of Sencha except it's completely free. It offers all of the benefits a great JS grid (sorting, AJAX editing, filterting, searching) and works great with XML, JSON, and Array data.

The Cons
The cons of jqGrid mirror Sencha's - that I just hate the fact that if someone turns off their JS then the entire grid doesn't exist. I like the javascript controlling of the grid but not the creation of it.

jqGrid Overview
So in the end I give it a 4.25 out of 5. It's a good solution for those on a budget but once again you should also take into consideration the all JS setup.

3. ZF DataGrid
Attached Image

The Pros
The ZF DataGrid is built to be used with the Zend framework and does a basic data-grid layout that then allows you to export the data into PDF, Excel, or CSV. It also has the capability of creating Flash charts from data in the database. It offers filtering and sorting so most of the needs of a good data-grid are offered.

The Cons
Now to be up-front I could never get their sample project to run on my local machine, so this is all from what I could see online. They do offer AJAX sorting and filtering but there doesn't seem to be an AJAX method to edit the fields without going to a different page completely. Also a huge drawback is the lack of community and documentation, but it being a single person working on the project it's understandable but something to remember when making your decision.

ZF DataGrid Conclusion
I give it a 3.5 out of 5 because of the lack of AJAX updating but at the same time the export features are a huge plus. Depending on who you are you may find that this only works with the Zend framework as a drawback, but I won't hold that against them since that was their whole point of creating it.

4. Eyesis
Attached Image

The Pros
So Eyesis is a PHP class that can be used in any PHP project to create a data grid. It also has javascript included to do mass selections and some data manipulation. I love the simplicity of the class and it's usage and implementation.

The Cons
No AJAX editing, you have some control over the columns but it mainly mirrors your database. It was written in 2008 and the documentation is lacking. If you have PHP 5.3 you will run into multiple errors due to the usage of deprecated code (although switching them out shouldn't take too much time).

Eyesis Conclusion
I give it a 3 out of 5 because it does the majority of things you will need from a data-grid except for the slicker AJAX editing within the spreadsheet.

4 Comments On This Entry

Page 1 of 1


11 April 2011 - 06:50 PM
Helped alot. Thanks.


11 April 2011 - 07:26 PM
No problem, glad it did!


12 April 2011 - 06:01 AM
Beginner PHP programmers are gonna have a hard time using Eyesis because sometimes you yourself have to tweak the class files to suit your needs or stop annoying errors/warnings from being thrown. I couldn't get ZF DataGrid to run either lol.


12 April 2011 - 07:23 AM
That's a good point codeprada, and I'm glad I'm not the only one with the ZF - I felt like a moron.
Page 1 of 1

Trackbacks for this entry [ Trackback URL ]

There are no Trackbacks for this entry

June 2018

17181920 21 2223

Recent Entries

Search My Blog

0 user(s) viewing

0 Guests
0 member(s)
0 anonymous member(s)