DataTables 1.7.4

DataTables CDN files for DataTables 1.7.4. This software was originally released on 30th October, 2010.

Release notes

This latest release of DataTables seems a number of improvements across the board. Along with a number of bug fixes, there are also a few performance improvements and and couple of minor new features. All thought the list of changes is fairly long, each individual change is fairly small, and this is a cumulation of a lot of work on DataTables and it's first class plug-ins over the last month. Enjoy this latest and greatest version of DataTables!

  • New: Column names, if defined, are submitted to the server-side for server-side processing. This is useful for the column ordering information, since it is possible for the server to be expecting a different column order from what DataTables is using - specifically with the column indexes such as sSearch_{i}.
  • New: Additional ability to control state saving through two new initialisation parameters "fnStateLoadCallback" and "fnStateSaveCallback". Documentation to be updated on at 1.7.4 release time. Basically now you can add parameters to be save, and override parameters whic have been saved. Also useful for plug-ins which need to save state.
  • New: fnSetColumnVis now has the option to cancel the redraw by passing the third parameter to the function as false (default is true).
  • Updated: From the previous commit sNames sent from the client to server is now a comma seperated list of sNames and is always sent regardless of if names are given or not. This matches the sName formatting for the server-to-client return.
  • Updated: A warning is now given if you pass in aTargets (for aoColumnDefs) as something other than an array (since this is not valid).
  • Updated: Remove unused settings class variable iDefaultSortIndex (the was long ago replaced with aaSorting
  • Updated: Store a complete representation of the column visibility state in aoData[]._anHidden (i.e. put in nulls for elements which are visible) to make manipulation much easier.
  • Updated: Slightly faster code for _fnStringToCss - thanks to sd_zuo, 3036
  • Updated: Upgrade to jQuery 1.4.3
  • Updated: Optimisation on fnDeleteRow to simply remove the search array entry, rather than rebuilding the whole array, also on fnUpdate to only rebuild the single row, rather than the entire thing, and finally fnAddData - allow the redraw to update the search array.
  • Updated: Trivial change to update hte favicon used by the DataTables examples from the SpryMedia icon to DataTables
  • Updated: server-side processing example script updated to use json_encode, so this version will now require PHP 5.2 or newer. A version for older PHP versions can be found here:
  • Updated: Server-side processing script for column re-ordering has been updated to take account of sNames parameter which is sent in from DataTables, and also brought up to date with the main server-side processing script.
  • Fixed: Couple of minor jsLint highlighted errors - nothing funcational, just tidy code.
  • Fixed: When state saving, it was possible to have a situation where by a table would contain 'n' columns, the user would sort on the last column and then the html is modifed to only have 'n-1' columns. This resulted in a JS error when DataTables tried to restore sorting on the removed column. Now do a sanity check to ensure the sorting column is present, and if not add sorting on column 0.
  • Fixed: When pressing a meta key (i.e. an arrow key) in the search box and the search value didn't change, this was casuing a redraw to occur where one was not needed - 2933
  • Fixed: IE6 and IE7 were having issues with scroll X and jQuery UI theming - specifically the elements which should have been hidden by the header scrolling were visible. This is fixed with a position: relative - 3180
  • Fixed: Highlight via CSS example had incorrect documentation - 3155
  • Fixed: jQuery 1.4.3 seems a lot more keen to call the $.ajax error handler, which was causing the unit tests to alert errors a lot when dealing with Ajax calls, since it can make multiple calls at the same time. I've altered the check in the default error handler to look for a prase error before alerting now.
  • Fixed: Unit test 4_server-side "Filter 'nothinghere' - info" was failing as the information element of the table was incorrectly reporting that "1" record was being shown (start) when the filter applies ensured that no records were actually being shown. This was due to a strong type check against a string/number returned from the server-side processing script and a number/0. Fix is to parseInt().
  • Fixed: Unit tests could fail due to interaction between state saving cookies. Now when tests which state save end, they must call fnCookieDestroy.
  • Fixed: Processing indicator wasn't being shown during initialisation for non-Ajax sourced data, if it was enabled
  • Fixed: Check also for pt units as well as the other CSS options
  • Fixed: Sorting disabled classes were not being correctly applied if sorting was disabled. This was particularly obvious with jQuery UI theming - 3064
  • Fixed: server-side processing demo script now takes account of strings which new line characters
  • Fixed: Table could expand on each draw, incorrectly, due to a rather convoluted mixture of the table width being 100% and the outer header not having a width set (so when the table was cloned into the header, it would expand to take up the width of the inner header element, which was the outer + the scrollbar width).