The stated goal of DataTables is "To enhance the accessibility of data in HTML tables". In order to achieve this we recognise that DataTables has two categories of users that interact with the interfaces the software has:
- End users - those who use the interface in the browser that you create with DataTables
- Developers - yourself and the other developers working with DataTables to create your apps, sites, services, etc.
End users need to be able to obtain useful information from the table as quickly as possible and for this DataTables has built in features such as ordering, searching and paging. This documentation doesn't detail how that interface can be used by end users, under the assumption that these controls are self-evident (type into search input box and you search the table, for example).
What this documentation does focus on is giving you, the developers using DataTables, the information you need to be able to use DataTables in your applications, customising it to match your exact requirements, to allow your end users to benefit from the features DataTables can present them. As such, this documentation covers details from how to install DataTables on your site in the first instance, explaining how it can source data for the tables it creates and detailing how its end user interface can be customised, right the way through to more advanced topics such as creating your own plug-ins for DataTables to further enhance its abilities and interface seamlessly with your application.
Although the end user and developer interfaces that DataTables presents are of course completely disparate, each is of equal importance to DataTables meeting its goal of ensuring data in HTML tables can be accessed and consumed as quickly and as efficiently as possible.
How to get DataTables up and running on your web-site. This section details the requirements DataTables has of your HTML tables, what files you need to include to have DataTables enhance your tables, how to include them and how to run DataTables. You'll be up and running in less than two minutes! Read more »
Data is complex, and all data is different. Accordingly, DataTables has a wealth of options which can be used to configure how it will obtain the data to display in the table, and how it processes that data. This section of the manual describes the options to configure DataTables to read data from your data source. Read more »
This section of the manual looks in detail at how to load Ajax sourced data into your DataTables with a JSON data source. This is comprised primarily of two tasks - where the array for the rows of data is in the JSON and the data point to be used for each column. Read more »
DataTables' huge range of options can be used to customise the way that it will present its interface, and the features available, to the end user. This section of the manual details how this configuration can be performed. A full list of the options available is shown in the options reference section of this web-site. Read more »
The DataTables API presents a wealth of options for accessing the data contained in a table, and otherwise manipulating the table programmatically. These functions range from selecting rows, columns and cells to get and set their data, to changing column visibility and applying search terms to the table dynamically. Read more »
It is important to style the DataTables enhanced tables in a manner which suits your design, so the tables fit in seamlessly with the rest of your site / app. To this end, DataTables provides a number of options for styling the tables, including its own customisable CSS, integration with CSS frameworks such Bootstrap and Foundation and pre-built themes. Read more »
Knowing when DataTables has performed an operation can often play an important role in a complex and dynamic web-application. For this reason, DataTables will fire custom DOM events, which can be listened for using jQuery's on() method, and the
dt namespace. Read more »
Server-side processing allows DataTables to leverage the abilities and sheer power of database engines directly, to allow them to do the heavy work of ordering, searching and paging data. This is done by making an Ajax call for each page to be displayed by DataTables and is suited for very large datasets. Read more »
DataTables adds several controls to a document when it enhances a table, many of which utilise language strings in one way or another to convey the usage to the end user. These default strings are in English, but can easily be translated into another language, or the strings customised. There are over 50 translations provided by the community ready to be used. Read more »
Security is a fundamental topic in web-development and is a topic that should not be overlooked by any developer, from interns to CTOs. High profile hacking cases are frequently in headlines around the world, but with some careful thinking and planning you can quickly create secure applications. This page discusses web security attacks that are directly relevant to DataTables, along with methods for how you can combat them. Read more »
datatables.net-vue3 package which provides DataTables for use as a component in Vue3 applications. Read more »
As flexible as DataTables is, there may be times when you wish to customise certain aspects to your specific needs. DataTables has a number of plug-in and extension options which are detailed in this section. Read more »
Technical notes contain information about DataTables that doesn't quite fit into the flow of the rest of the documentation, explaining error messages, technical decisions regarding the implementation of DataTables and detailed explanations of other general topics of interest when working with DataTables. Read more »
As open source software, DataTables is free for you to investigate its source, and I would very much encourage you to do so and contribute any changes you make back to the project so others can also benefit. This section of the manual describes how you can build DataTables from source, contribute code and the planned road map for DataTables. Read more »