Very happy to answer any questions if anyone has any!
Just FYI, your library is being used clinically every day in a number of cancer centres in Canada as part of the open source QA tool for radiation therapy clinics that I wrote[1].
p.s. like others, I'm not a big fan of Hungarian Notation, but it's really no big deal at all and kind of a silly thing to complain about given how useful the library is.
I've made a great deal of use of jqGrid which I've found to be an excellent piece of software. I've always been meaning to give DataTables a try as well but haven't yet got round to it. Assuming you're aware of jqGrid how would you compare / contrast it with DataTables?
DataTables might have the worst API I've ever seen in a Javascript library. Powerful, yes, but it has the most insane naming conventions I've ever seen. To this day I do not understand why so many properties are prefixed with random letters.
There was a time when there wasn't anything else out there that was even close to as good, though.
- Hungarian notation is 'the most insane naming convention' you have ever seen? Really? I'm guessing you haven't seen a lot.
- 'There are many alternatives with a much saner API' - proceeding with not naming any, and the ones mentioned below all are lacking in features compared to DataTables - everything else I've seen tends to be a one trick pony. Obviously something with not many features is going to have a simpler API.
Please note: I do agree that the API could be better - also, it depends on how many powerful features you want, whether DataTables is going to be worth it. As someone who usually develops in rich desktop environments I tend to demand more of tables, and to program all those features from scratch would use an insane amount of time on the web.
(Again IIRC some arguments, such as which column to sort on by default, are the actual integer index into the columns array -- i.e. pass a 1 to sort on the second column. The last time I saw anything like this was when I was looking at Quake3 source, written in C!)
However it does the job well once it's all set up and for a long time it was miles ahead of any other option. Only ExtJS and YUI grids are/were better but those require large frameworks and a number of assets to be in place. I would never advise someone to use it today though, I have to say. I used it once for a critical project and in retrospect I would have rolled my own, despite time constraints.
The prefix letters aren't random, but they aren't elegant either. When I first wrote DataTables I was working for a company which required the use of Hungarian notation in their coding standards, so I was trained to write that way - I've never changed it because I didn't want to break backwards compatibility. Having said that, v1.10 provides a camelCase layer, which will be what is documented at the API / options with 1.10. Again the Hungarian notation will be supported for full backwards compatibility.
v1.10 is available in github (1_10_wip branch) if you want to try it. It is pre-beta, but almost ready to roll as a beta - I just need to write the documentation.
As far as alternatives go, I usually specialize based on what my needs are. If I'm using a JS framework I don't have as much of a need for an all-in-one solution like datatables because the framework usually does a good job of handling things like DOM rendering and data storage without the need for a full blown table sorting library.
On the other hand, a lot of JS frameworks have tackled a lot of the problems that I used datatables for except in a much better way. Things such as data storage and retrieval, dom manipulation, smart dom rendering. A lot of times I don't need to reach for one of these libraries anymore because the problem is already handled elegantly enough at the framework level. AngularJS in particular really shines here.
The examples on the site aren't general or plentiful enough, and they assume more prior knowledge of the plugin than would seem reasonable. I couldn't even find a list of initialization options anywhere.
I'd be interested to know of any particular pain points you had so I can ensure they are addressed.
Much nicer API and it's fast for large amounts of data. Unfortunately like many things it's lacking a lot of docs so you have to dig through the source of the examples.
2. Set to autogenerate webpage on every save
3. Clean up crufty HTML with jQuery
4. Display using DataTables
5. Proit!
This hacky hackerson of a hack was great way to get around having to build a CRUD app and go through IT channels to have something deployed on the network, and still keep things simple enough for extremely entry-level end-users.
Thanks for DataTables, Allan!
It is really fantastic for that live spreadsheet feel.
I paid for support and had the author's full attention the same morning. Works like a charm.
In the past I've used dgrid with the DojoToolkit. It's not for everyone, but it was great to work with.
Food for thought Magento maybe able to run some faster admin tables with this. though, I would think this would be a task in setting up. The Json is their but admin panels setup is another thing in Magento.
There are also very good plugins[1] to use it on the backend..
https://github.com/starstable/PonyTable
Warning, probably not PEP-8 and can probably be improved in a tons of places.