Responsive has two built in methods for displaying the controlling element of the child rows; inline
which is the default option and shows the
control in the first column, and column
which set a control column as the control. The control column is shown only when there is some other
column hidden, and is dedicated only to the show / hide control for the rows.
This example shows the responsive.details.type
option set to column
to activate the control column. Note that by default the
first column is used as the control, so additionally in the initialisation the order
and columns.orderable
options are used to disable sorting on this column.
First name | Last name | Position | Office | Age | Start date | Salary | Extn. |
---|---|---|---|---|---|---|---|
First name | Last name | Position | Office | Age | Start date | Salary | Extn. |
Airi | Satou | Accountant | Tokyo | 33 | 2008/11/28 | $162,700 | 5407 |
Angelica | Ramos | Chief Executive Officer (CEO) | London | 47 | 2009/10/09 | $1,200,000 | 5797 |
Ashton | Cox | Junior Technical Author | San Francisco | 66 | 2009/01/12 | $86,000 | 1562 |
Bradley | Greer | Software Engineer | London | 41 | 2012/10/13 | $132,000 | 2558 |
Brenden | Wagner | Software Engineer | San Francisco | 28 | 2011/06/07 | $206,850 | 1314 |
Brielle | Williamson | Integration Specialist | New York | 61 | 2012/12/02 | $372,000 | 4804 |
Bruno | Nash | Software Engineer | London | 38 | 2011/05/03 | $163,500 | 6222 |
Caesar | Vance | Pre-Sales Support | New York | 21 | 2011/12/12 | $106,450 | 8330 |
Cara | Stevens | Sales Assistant | New York | 46 | 2011/12/06 | $145,600 | 3990 |
Cedric | Kelly | Senior Javascript Developer | Edinburgh | 22 | 2012/03/29 | $433,060 | 6224 |
The Javascript shown below is used to initialise the table shown in this example:
$(document).ready(function() {
$('#example').DataTable( {
responsive: {
details: {
type: 'column'
}
},
columnDefs: [ {
className: 'control',
orderable: false,
targets: 0
} ],
order: [ 1, 'asc' ]
} );
} );
In addition to the above code, the following Javascript library files are loaded for use in this example:
The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:
This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The additional CSS used is shown below:
The following CSS library files are loaded for use in this example to provide the styling of the table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is loaded.
The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side processing scripts can be written in any language, using the protocol described in the DataTables documentation.