5 <link rel=
"shortcut icon" type=
"image/ico" href=
"http://www.datatables.net/favicon.ico">
6 <meta name=
"viewport" content=
"initial-scale=1.0, maximum-scale=2.0">
8 <title>FixedColumns example - Complex headers
</title>
9 <link rel=
"stylesheet" type=
"text/css" href=
"../../../media/css/jquery.dataTables.css">
10 <link rel=
"stylesheet" type=
"text/css" href=
"../css/dataTables.fixedColumns.css">
11 <link rel=
"stylesheet" type=
"text/css" href=
"../../../examples/resources/syntax/shCore.css">
12 <link rel=
"stylesheet" type=
"text/css" href=
"../../../examples/resources/demo.css">
13 <style type=
"text/css" class=
"init">
15 /* Ensure that the demo table scrolls */
18 padding-left:
40px !important;
19 padding-right:
40px !important;
21 div.dataTables_wrapper {
27 <script type=
"text/javascript" language=
"javascript" src=
"../../../media/js/jquery.js"></script>
28 <script type=
"text/javascript" language=
"javascript" src=
"../../../media/js/jquery.dataTables.js"></script>
29 <script type=
"text/javascript" language=
"javascript" src=
"../js/dataTables.fixedColumns.js"></script>
30 <script type=
"text/javascript" language=
"javascript" src=
"../../../examples/resources/syntax/shCore.js"></script>
31 <script type=
"text/javascript" language=
"javascript" src=
"../../../examples/resources/demo.js"></script>
32 <script type=
"text/javascript" language=
"javascript" class=
"init">
35 $(document).ready(function() {
36 var table = $('#example').DataTable( {
42 new $.fn.dataTable.FixedColumns( table );
49 <body class=
"dt-example">
50 <div class=
"container">
52 <h1>FixedColumns example
<span>Complex headers
</span></h1>
55 <p>If you are using multiple rows in the table header, it can be useful to have a rowspanning cell on the column(s) you have fixed in place - equally at other
56 times it can be useful to not and make use of the two or more cells per column. FixedColumns builds on the complex header support in DataTables to make this
57 trivial to use in FixedColumns. Just initialise your FixedColumns instance as you normally would!
</p>
60 <table id=
"example" class=
"stripe row-border order-column" cellspacing=
"0" width=
"100%">
63 <th rowspan=
"2">Name
</th>
64 <th colspan=
"2">HR Information
</th>
65 <th colspan=
"3">Contact
</th>
90 <td>System Architect
</td>
94 <td>t.nixon@datatables.net
</td>
97 <td>Garrett Winters
</td>
102 <td>g.winters@datatables.net
</td>
106 <td>Junior Technical Author
</td>
108 <td>San Francisco
</td>
110 <td>a.cox@datatables.net
</td>
113 <td>Cedric Kelly
</td>
114 <td>Senior Javascript Developer
</td>
118 <td>c.kelly@datatables.net
</td>
126 <td>a.satou@datatables.net
</td>
129 <td>Brielle Williamson
</td>
130 <td>Integration Specialist
</td>
134 <td>b.williamson@datatables.net
</td>
137 <td>Herrod Chandler
</td>
138 <td>Sales Assistant
</td>
140 <td>San Francisco
</td>
142 <td>h.chandler@datatables.net
</td>
145 <td>Rhona Davidson
</td>
146 <td>Integration Specialist
</td>
150 <td>r.davidson@datatables.net
</td>
153 <td>Colleen Hurst
</td>
154 <td>Javascript Developer
</td>
156 <td>San Francisco
</td>
158 <td>c.hurst@datatables.net
</td>
162 <td>Software Engineer
</td>
166 <td>s.frost@datatables.net
</td>
170 <td>Office Manager
</td>
174 <td>j.gaines@datatables.net
</td>
178 <td>Support Lead
</td>
182 <td>q.flynn@datatables.net
</td>
185 <td>Charde Marshall
</td>
186 <td>Regional Director
</td>
188 <td>San Francisco
</td>
190 <td>c.marshall@datatables.net
</td>
193 <td>Haley Kennedy
</td>
194 <td>Senior Marketing Designer
</td>
198 <td>h.kennedy@datatables.net
</td>
201 <td>Tatyana Fitzpatrick
</td>
202 <td>Regional Director
</td>
206 <td>t.fitzpatrick@datatables.net
</td>
209 <td>Michael Silva
</td>
210 <td>Marketing Designer
</td>
214 <td>m.silva@datatables.net
</td>
218 <td>Chief Financial Officer (CFO)
</td>
222 <td>p.byrd@datatables.net
</td>
225 <td>Gloria Little
</td>
226 <td>Systems Administrator
</td>
230 <td>g.little@datatables.net
</td>
233 <td>Bradley Greer
</td>
234 <td>Software Engineer
</td>
238 <td>b.greer@datatables.net
</td>
242 <td>Personnel Lead
</td>
246 <td>d.rios@datatables.net
</td>
249 <td>Jenette Caldwell
</td>
250 <td>Development Lead
</td>
254 <td>j.caldwell@datatables.net
</td>
258 <td>Chief Marketing Officer (CMO)
</td>
262 <td>y.berry@datatables.net
</td>
265 <td>Caesar Vance
</td>
266 <td>Pre-Sales Support
</td>
270 <td>c.vance@datatables.net
</td>
273 <td>Doris Wilder
</td>
274 <td>Sales Assistant
</td>
278 <td>d.wilder@datatables.net
</td>
281 <td>Angelica Ramos
</td>
282 <td>Chief Executive Officer (CEO)
</td>
286 <td>a.ramos@datatables.net
</td>
294 <td>g.joyce@datatables.net
</td>
297 <td>Jennifer Chang
</td>
298 <td>Regional Director
</td>
302 <td>j.chang@datatables.net
</td>
305 <td>Brenden Wagner
</td>
306 <td>Software Engineer
</td>
308 <td>San Francisco
</td>
310 <td>b.wagner@datatables.net
</td>
314 <td>Chief Operating Officer (COO)
</td>
316 <td>San Francisco
</td>
318 <td>f.green@datatables.net
</td>
322 <td>Regional Marketing
</td>
326 <td>s.itou@datatables.net
</td>
329 <td>Michelle House
</td>
330 <td>Integration Specialist
</td>
334 <td>m.house@datatables.net
</td>
342 <td>s.burks@datatables.net
</td>
345 <td>Prescott Bartlett
</td>
346 <td>Technical Author
</td>
350 <td>p.bartlett@datatables.net
</td>
353 <td>Gavin Cortez
</td>
356 <td>San Francisco
</td>
358 <td>g.cortez@datatables.net
</td>
361 <td>Martena Mccray
</td>
362 <td>Post-Sales support
</td>
366 <td>m.mccray@datatables.net
</td>
369 <td>Unity Butler
</td>
370 <td>Marketing Designer
</td>
372 <td>San Francisco
</td>
374 <td>u.butler@datatables.net
</td>
377 <td>Howard Hatfield
</td>
378 <td>Office Manager
</td>
380 <td>San Francisco
</td>
382 <td>h.hatfield@datatables.net
</td>
385 <td>Hope Fuentes
</td>
388 <td>San Francisco
</td>
390 <td>h.fuentes@datatables.net
</td>
393 <td>Vivian Harrell
</td>
394 <td>Financial Controller
</td>
396 <td>San Francisco
</td>
398 <td>v.harrell@datatables.net
</td>
401 <td>Timothy Mooney
</td>
402 <td>Office Manager
</td>
406 <td>t.mooney@datatables.net
</td>
409 <td>Jackson Bradshaw
</td>
414 <td>j.bradshaw@datatables.net
</td>
417 <td>Olivia Liang
</td>
418 <td>Support Engineer
</td>
422 <td>o.liang@datatables.net
</td>
426 <td>Software Engineer
</td>
430 <td>b.nash@datatables.net
</td>
433 <td>Sakura Yamamoto
</td>
434 <td>Support Engineer
</td>
438 <td>s.yamamoto@datatables.net
</td>
446 <td>t.walton@datatables.net
</td>
449 <td>Finn Camacho
</td>
450 <td>Support Engineer
</td>
452 <td>San Francisco
</td>
454 <td>f.camacho@datatables.net
</td>
457 <td>Serge Baldwin
</td>
458 <td>Data Coordinator
</td>
462 <td>s.baldwin@datatables.net
</td>
465 <td>Zenaida Frank
</td>
466 <td>Software Engineer
</td>
470 <td>z.frank@datatables.net
</td>
473 <td>Zorita Serrano
</td>
474 <td>Software Engineer
</td>
476 <td>San Francisco
</td>
478 <td>z.serrano@datatables.net
</td>
481 <td>Jennifer Acosta
</td>
482 <td>Junior Javascript Developer
</td>
486 <td>j.acosta@datatables.net
</td>
489 <td>Cara Stevens
</td>
490 <td>Sales Assistant
</td>
494 <td>c.stevens@datatables.net
</td>
497 <td>Hermione Butler
</td>
498 <td>Regional Director
</td>
502 <td>h.butler@datatables.net
</td>
506 <td>Systems Administrator
</td>
510 <td>l.greer@datatables.net
</td>
513 <td>Jonas Alexander
</td>
516 <td>San Francisco
</td>
518 <td>j.alexander@datatables.net
</td>
522 <td>Regional Director
</td>
526 <td>s.decker@datatables.net
</td>
529 <td>Michael Bruce
</td>
530 <td>Javascript Developer
</td>
534 <td>m.bruce@datatables.net
</td>
537 <td>Donna Snider
</td>
538 <td>Customer Support
</td>
542 <td>d.snider@datatables.net
</td>
548 <li class=
"active">Javascript
</li>
552 <li>Server-side script
</li>
557 <p>The Javascript shown below is used to initialise the table shown in this example:
</p><code class=
"multiline language-js">$(document).ready(function() {
558 var table = $('#example').DataTable( {
559 scrollY:
"300px
",
561 scrollCollapse: true,
564 new $.fn.dataTable.FixedColumns( table );
567 <p>In addition to the above code, the following Javascript library files are loaded for use in this example:
</p>
570 <li><a href=
"../../../media/js/jquery.js">../../../media/js/jquery.js
</a></li>
571 <li><a href=
"../../../media/js/jquery.dataTables.js">../../../media/js/jquery.dataTables.js
</a></li>
572 <li><a href=
"../js/dataTables.fixedColumns.js">../js/dataTables.fixedColumns.js
</a></li>
577 <p>The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:
</p>
582 <p>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
583 additional CSS used is shown below:
</p><code class=
"multiline language-css">/* Ensure that the demo table scrolls */
586 padding-left:
40px !important;
587 padding-right:
40px !important;
589 div.dataTables_wrapper {
595 <p>The following CSS library files are loaded for use in this example to provide the styling of the table:
</p>
598 <li><a href=
"../../../media/css/jquery.dataTables.css">../../../media/css/jquery.dataTables.css
</a></li>
599 <li><a href=
"../css/dataTables.fixedColumns.css">../css/dataTables.fixedColumns.css
</a></li>
604 <p>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
609 <p>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
610 processing scripts can be written in any language, using
<a href=
"//datatables.net/manual/server-side">the protocol described in the DataTables
611 documentation
</a>.
</p>
619 <div class=
"gradient"></div>
622 <h2>Other examples
</h2>
625 <div class=
"toc-group">
626 <h3><a href=
"./index.html">Examples
</a></h3>
627 <ul class=
"toc active">
628 <li><a href=
"./left_right_columns.html">Left and right fixed columns
</a></li>
629 <li><a href=
"./simple.html">Basic initialisation
</a></li>
630 <li><a href=
"./two_columns.html">Multiple fixed columns
</a></li>
631 <li><a href=
"./right_column.html">Right column only
</a></li>
632 <li class=
"active"><a href=
"./rowspan.html">Complex headers
</a></li>
633 <li><a href=
"./colvis.html">ColVis integration
</a></li>
634 <li><a href=
"./server-side-processing.html">Server-side processing
</a></li>
635 <li><a href=
"./css_size.html">CSS row sizing
</a></li>
636 <li><a href=
"./size_fixed.html">Assigned column width
</a></li>
637 <li><a href=
"./size_fluid.html">Fluid column width
</a></li>
638 <li><a href=
"./col_filter.html">Individual column filtering
</a></li>
639 <li><a href=
"./bootstrap.html">Bootstrap
</a></li>
640 <li><a href=
"./index_column.html">Index column
</a></li>
645 <div class=
"epilogue">
646 <p>Please refer to the
<a href=
"http://www.datatables.net">DataTables documentation
</a> for full information about its API properties and methods.
<br>
647 Additionally, there are a wide range of
<a href=
"http://www.datatables.net/extras">extras
</a> and
<a href=
"http://www.datatables.net/plug-ins">plug-ins
</a>
648 which extend the capabilities of DataTables.
</p>
650 <p class=
"copyright">DataTables designed and created by
<a href=
"http://www.sprymedia.co.uk">SpryMedia Ltd
</a> © 2007-
2015<br>
651 DataTables is licensed under the
<a href=
"http://www.datatables.net/mit">MIT license
</a>.
</p>