Fix: Table could overscroll if `dt-init data` is used to populate the table This is a fairly significant change to how DataTables operates for the scrolling width calculations and primarily is due to a simplification with the use of `clientWidth` to get the scrolling container width. Rather than getting the offsetWidth and then removing the scrollbar width if required the `clientWidth` will give us the value directly. With the scrollbar width already accounted for the scrolling draw code can be updated to not need to account for it itself. Finally, when using the `data` property to add data to the table we need to recalculate the column widths after the first draw, just like with Ajax loaded data, otherwise the data added won't be taken into account and we can get an error in the scrolling.
DataTables plug-in for jQuery
DataTables is a table enhancing plug-in for the jQuery Javascript library, adding sorting, paging and filtering abilities to plain HTML tables with minimal effort. The stated goal of DataTables is:
To enhance the accessibility of data in HTML tables.
To meet this goal, DataTables is developed with two distinct groups of users in mind:
-
You the developers using DataTables. For developers DataTables provides a wide array of options for how data should be obtained, displayed and acted upon, along with an extensive API for accessing and manipulating the table.
-
End users. For those using the interface DataTables presents, actions to get the most from the information contained in tables, such as sorting and filtering, along with paging and scrolling of the data in table, are easy to use, intuitive and fast.
Installation
In most cases, to use DataTables all you need to do is include jQuery, the DataTables Javascript and DataTables CSS files in your HTML page. See the DataTables manual for details on how to do this using the latest version of DataTables.
Usage
In its simplest case, DataTables can be initialised with a single line of Javascript:
$('table').dataTable();
where the jQuery selector is used to obtain a reference to the table you want to enhance with DataTables. Optional configuration parameters can be passed in to DataTables to have it perform certain actions by using a configuration object as the parameter passed in to the DataTables constructor. For example:
$('table').dataTable( {
paginate: false,
scrollY: 300
} );
will disable paging and enable scrolling.
A full list of the options available for DataTables are available in the documentation.
Documentation
Full documentation of the DataTables options, API and pug-in interface are available on the DataTables web-site. The site also contains information on the wide variety of plug-ins that are available for DataTables, which can be used to enhance and customise your table even further.
Support
Support for DataTables is available through the DataTables forums and commercial support options are available.
License
DataTables is release under the MIT license. You are free to use, modify and distribute this software, as long as the copyright header is left intact (specifically the comment block which starts with /*!
.