123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico">
- <meta name="viewport" content="initial-scale=1.0, maximum-scale=2.0">
- <title>Responsive example - Complex headers (rowspan / colspan)</title>
- <link rel="stylesheet" type="text/css" href="../../../../media/css/jquery.dataTables.css">
- <link rel="stylesheet" type="text/css" href="../../css/dataTables.responsive.css">
- <link rel="stylesheet" type="text/css" href="../../../../examples/resources/syntax/shCore.css">
- <link rel="stylesheet" type="text/css" href="../../../../examples/resources/demo.css">
- <style type="text/css" class="init">
- th {
- position: relative;
- min-height: 41px;
- }
- span {
- display: block;
- position: absolute;
- left: 0;
- right: 0;
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
- }
- </style>
- <script type="text/javascript" language="javascript" src="../../../../media/js/jquery.js"></script>
- <script type="text/javascript" language="javascript" src="../../../../media/js/jquery.dataTables.js"></script>
- <script type="text/javascript" language="javascript" src="../../js/dataTables.responsive.js"></script>
- <script type="text/javascript" language="javascript" src="../../../../examples/resources/syntax/shCore.js"></script>
- <script type="text/javascript" language="javascript" src="../../../../examples/resources/demo.js"></script>
- <script type="text/javascript" language="javascript" class="init">
- $(document).ready(function() {
- // jQuery update a column title from the demo table to contain a long description
- // You would not need to do this in your own code.
- $('#example thead tr:eq(0) th:eq(2)').html("This is a really long column title!");
-
- // Wrap the colspan'ing header cells with a span so they can be positioned
- // absolutely - filling the available space, and no more.
- $('#example thead th[colspan]').wrapInner( '<span/>' ).append( ' ' );
- // Standard initialisation
- $('#example').DataTable( {
- responsive: true,
- paging: false
- } );
- } );
- </script>
- </head>
- <body class="dt-example">
- <div class="container">
- <section>
- <h1>Responsive example <span>Complex headers (rowspan / colspan)</span></h1>
- <div class="info">
- <p>This example shows how Responsive can be used with <em>complex headers</em> (i.e. headers that contain <code>colspan</code> attributes for one or more cells).
- As Responsive will removed columns one at a time the cell with the <code>colspan</code> attribute can end up forcing the width of a column, disrupting the flow.
- Rather than removing all columns under the <code>colspan</code> cell, we want to reduce the amount of text that is visible in that cell. This example shows how
- that can be achieved thought a little bit of jQuery and CSS.</p>
- <p>We use jQuery to find the header cells which have a <code>colspan</code> attribute and wrap their contents in a <code class="tag" title="HTML tag">span</code>
- tag. That <code class="tag" title="HTML tag">span</code> is then set to <code>position: absolute;</code> using <code>text-overflow: ellipsis</code>. The result is
- that the text of the <code>colspan</code> cell will reduce automatically to fit the available area based on the contents of the column cells below it.</p>
- <p>This functionality is not currently built into Responsive. It likely will be for v1.1.</p>
- </div>
- <table id="example" class="display nowrap" cellspacing="0" width="100%">
- <thead>
- <tr>
- <th rowspan="2">Name</th>
- <th colspan="2">HR Information</th>
- <th colspan="3">Contact</th>
- </tr>
- <tr>
- <th>Position</th>
- <th>Salary</th>
- <th>Office</th>
- <th>Extn.</th>
- <th>E-mail</th>
- </tr>
- </thead>
- <tfoot>
- <tr>
- <th>Name</th>
- <th>Position</th>
- <th>Salary</th>
- <th>Office</th>
- <th>Extn.</th>
- <th>E-mail</th>
- </tr>
- </tfoot>
- <tbody>
- <tr>
- <td>Tiger Nixon</td>
- <td>System Architect</td>
- <td>$320,800</td>
- <td>Edinburgh</td>
- <td>5421</td>
- <td>t.nixon@datatables.net</td>
- </tr>
- <tr>
- <td>Garrett Winters</td>
- <td>Accountant</td>
- <td>$170,750</td>
- <td>Tokyo</td>
- <td>8422</td>
- <td>g.winters@datatables.net</td>
- </tr>
- <tr>
- <td>Ashton Cox</td>
- <td>Junior Technical Author</td>
- <td>$86,000</td>
- <td>San Francisco</td>
- <td>1562</td>
- <td>a.cox@datatables.net</td>
- </tr>
- <tr>
- <td>Cedric Kelly</td>
- <td>Senior Javascript Developer</td>
- <td>$433,060</td>
- <td>Edinburgh</td>
- <td>6224</td>
- <td>c.kelly@datatables.net</td>
- </tr>
- <tr>
- <td>Airi Satou</td>
- <td>Accountant</td>
- <td>$162,700</td>
- <td>Tokyo</td>
- <td>5407</td>
- <td>a.satou@datatables.net</td>
- </tr>
- <tr>
- <td>Brielle Williamson</td>
- <td>Integration Specialist</td>
- <td>$372,000</td>
- <td>New York</td>
- <td>4804</td>
- <td>b.williamson@datatables.net</td>
- </tr>
- <tr>
- <td>Herrod Chandler</td>
- <td>Sales Assistant</td>
- <td>$137,500</td>
- <td>San Francisco</td>
- <td>9608</td>
- <td>h.chandler@datatables.net</td>
- </tr>
- <tr>
- <td>Rhona Davidson</td>
- <td>Integration Specialist</td>
- <td>$327,900</td>
- <td>Tokyo</td>
- <td>6200</td>
- <td>r.davidson@datatables.net</td>
- </tr>
- <tr>
- <td>Colleen Hurst</td>
- <td>Javascript Developer</td>
- <td>$205,500</td>
- <td>San Francisco</td>
- <td>2360</td>
- <td>c.hurst@datatables.net</td>
- </tr>
- <tr>
- <td>Sonya Frost</td>
- <td>Software Engineer</td>
- <td>$103,600</td>
- <td>Edinburgh</td>
- <td>1667</td>
- <td>s.frost@datatables.net</td>
- </tr>
- <tr>
- <td>Jena Gaines</td>
- <td>Office Manager</td>
- <td>$90,560</td>
- <td>London</td>
- <td>3814</td>
- <td>j.gaines@datatables.net</td>
- </tr>
- <tr>
- <td>Quinn Flynn</td>
- <td>Support Lead</td>
- <td>$342,000</td>
- <td>Edinburgh</td>
- <td>9497</td>
- <td>q.flynn@datatables.net</td>
- </tr>
- <tr>
- <td>Charde Marshall</td>
- <td>Regional Director</td>
- <td>$470,600</td>
- <td>San Francisco</td>
- <td>6741</td>
- <td>c.marshall@datatables.net</td>
- </tr>
- <tr>
- <td>Haley Kennedy</td>
- <td>Senior Marketing Designer</td>
- <td>$313,500</td>
- <td>London</td>
- <td>3597</td>
- <td>h.kennedy@datatables.net</td>
- </tr>
- <tr>
- <td>Tatyana Fitzpatrick</td>
- <td>Regional Director</td>
- <td>$385,750</td>
- <td>London</td>
- <td>1965</td>
- <td>t.fitzpatrick@datatables.net</td>
- </tr>
- <tr>
- <td>Michael Silva</td>
- <td>Marketing Designer</td>
- <td>$198,500</td>
- <td>London</td>
- <td>1581</td>
- <td>m.silva@datatables.net</td>
- </tr>
- <tr>
- <td>Paul Byrd</td>
- <td>Chief Financial Officer (CFO)</td>
- <td>$725,000</td>
- <td>New York</td>
- <td>3059</td>
- <td>p.byrd@datatables.net</td>
- </tr>
- <tr>
- <td>Gloria Little</td>
- <td>Systems Administrator</td>
- <td>$237,500</td>
- <td>New York</td>
- <td>1721</td>
- <td>g.little@datatables.net</td>
- </tr>
- <tr>
- <td>Bradley Greer</td>
- <td>Software Engineer</td>
- <td>$132,000</td>
- <td>London</td>
- <td>2558</td>
- <td>b.greer@datatables.net</td>
- </tr>
- <tr>
- <td>Dai Rios</td>
- <td>Personnel Lead</td>
- <td>$217,500</td>
- <td>Edinburgh</td>
- <td>2290</td>
- <td>d.rios@datatables.net</td>
- </tr>
- <tr>
- <td>Jenette Caldwell</td>
- <td>Development Lead</td>
- <td>$345,000</td>
- <td>New York</td>
- <td>1937</td>
- <td>j.caldwell@datatables.net</td>
- </tr>
- <tr>
- <td>Yuri Berry</td>
- <td>Chief Marketing Officer (CMO)</td>
- <td>$675,000</td>
- <td>New York</td>
- <td>6154</td>
- <td>y.berry@datatables.net</td>
- </tr>
- <tr>
- <td>Caesar Vance</td>
- <td>Pre-Sales Support</td>
- <td>$106,450</td>
- <td>New York</td>
- <td>8330</td>
- <td>c.vance@datatables.net</td>
- </tr>
- <tr>
- <td>Doris Wilder</td>
- <td>Sales Assistant</td>
- <td>$85,600</td>
- <td>Sidney</td>
- <td>3023</td>
- <td>d.wilder@datatables.net</td>
- </tr>
- <tr>
- <td>Angelica Ramos</td>
- <td>Chief Executive Officer (CEO)</td>
- <td>$1,200,000</td>
- <td>London</td>
- <td>5797</td>
- <td>a.ramos@datatables.net</td>
- </tr>
- <tr>
- <td>Gavin Joyce</td>
- <td>Developer</td>
- <td>$92,575</td>
- <td>Edinburgh</td>
- <td>8822</td>
- <td>g.joyce@datatables.net</td>
- </tr>
- <tr>
- <td>Jennifer Chang</td>
- <td>Regional Director</td>
- <td>$357,650</td>
- <td>Singapore</td>
- <td>9239</td>
- <td>j.chang@datatables.net</td>
- </tr>
- <tr>
- <td>Brenden Wagner</td>
- <td>Software Engineer</td>
- <td>$206,850</td>
- <td>San Francisco</td>
- <td>1314</td>
- <td>b.wagner@datatables.net</td>
- </tr>
- <tr>
- <td>Fiona Green</td>
- <td>Chief Operating Officer (COO)</td>
- <td>$850,000</td>
- <td>San Francisco</td>
- <td>2947</td>
- <td>f.green@datatables.net</td>
- </tr>
- <tr>
- <td>Shou Itou</td>
- <td>Regional Marketing</td>
- <td>$163,000</td>
- <td>Tokyo</td>
- <td>8899</td>
- <td>s.itou@datatables.net</td>
- </tr>
- <tr>
- <td>Michelle House</td>
- <td>Integration Specialist</td>
- <td>$95,400</td>
- <td>Sidney</td>
- <td>2769</td>
- <td>m.house@datatables.net</td>
- </tr>
- <tr>
- <td>Suki Burks</td>
- <td>Developer</td>
- <td>$114,500</td>
- <td>London</td>
- <td>6832</td>
- <td>s.burks@datatables.net</td>
- </tr>
- <tr>
- <td>Prescott Bartlett</td>
- <td>Technical Author</td>
- <td>$145,000</td>
- <td>London</td>
- <td>3606</td>
- <td>p.bartlett@datatables.net</td>
- </tr>
- <tr>
- <td>Gavin Cortez</td>
- <td>Team Leader</td>
- <td>$235,500</td>
- <td>San Francisco</td>
- <td>2860</td>
- <td>g.cortez@datatables.net</td>
- </tr>
- <tr>
- <td>Martena Mccray</td>
- <td>Post-Sales support</td>
- <td>$324,050</td>
- <td>Edinburgh</td>
- <td>8240</td>
- <td>m.mccray@datatables.net</td>
- </tr>
- <tr>
- <td>Unity Butler</td>
- <td>Marketing Designer</td>
- <td>$85,675</td>
- <td>San Francisco</td>
- <td>5384</td>
- <td>u.butler@datatables.net</td>
- </tr>
- <tr>
- <td>Howard Hatfield</td>
- <td>Office Manager</td>
- <td>$164,500</td>
- <td>San Francisco</td>
- <td>7031</td>
- <td>h.hatfield@datatables.net</td>
- </tr>
- <tr>
- <td>Hope Fuentes</td>
- <td>Secretary</td>
- <td>$109,850</td>
- <td>San Francisco</td>
- <td>6318</td>
- <td>h.fuentes@datatables.net</td>
- </tr>
- <tr>
- <td>Vivian Harrell</td>
- <td>Financial Controller</td>
- <td>$452,500</td>
- <td>San Francisco</td>
- <td>9422</td>
- <td>v.harrell@datatables.net</td>
- </tr>
- <tr>
- <td>Timothy Mooney</td>
- <td>Office Manager</td>
- <td>$136,200</td>
- <td>London</td>
- <td>7580</td>
- <td>t.mooney@datatables.net</td>
- </tr>
- <tr>
- <td>Jackson Bradshaw</td>
- <td>Director</td>
- <td>$645,750</td>
- <td>New York</td>
- <td>1042</td>
- <td>j.bradshaw@datatables.net</td>
- </tr>
- <tr>
- <td>Olivia Liang</td>
- <td>Support Engineer</td>
- <td>$234,500</td>
- <td>Singapore</td>
- <td>2120</td>
- <td>o.liang@datatables.net</td>
- </tr>
- <tr>
- <td>Bruno Nash</td>
- <td>Software Engineer</td>
- <td>$163,500</td>
- <td>London</td>
- <td>6222</td>
- <td>b.nash@datatables.net</td>
- </tr>
- <tr>
- <td>Sakura Yamamoto</td>
- <td>Support Engineer</td>
- <td>$139,575</td>
- <td>Tokyo</td>
- <td>9383</td>
- <td>s.yamamoto@datatables.net</td>
- </tr>
- <tr>
- <td>Thor Walton</td>
- <td>Developer</td>
- <td>$98,540</td>
- <td>New York</td>
- <td>8327</td>
- <td>t.walton@datatables.net</td>
- </tr>
- <tr>
- <td>Finn Camacho</td>
- <td>Support Engineer</td>
- <td>$87,500</td>
- <td>San Francisco</td>
- <td>2927</td>
- <td>f.camacho@datatables.net</td>
- </tr>
- <tr>
- <td>Serge Baldwin</td>
- <td>Data Coordinator</td>
- <td>$138,575</td>
- <td>Singapore</td>
- <td>8352</td>
- <td>s.baldwin@datatables.net</td>
- </tr>
- <tr>
- <td>Zenaida Frank</td>
- <td>Software Engineer</td>
- <td>$125,250</td>
- <td>New York</td>
- <td>7439</td>
- <td>z.frank@datatables.net</td>
- </tr>
- <tr>
- <td>Zorita Serrano</td>
- <td>Software Engineer</td>
- <td>$115,000</td>
- <td>San Francisco</td>
- <td>4389</td>
- <td>z.serrano@datatables.net</td>
- </tr>
- <tr>
- <td>Jennifer Acosta</td>
- <td>Junior Javascript Developer</td>
- <td>$75,650</td>
- <td>Edinburgh</td>
- <td>3431</td>
- <td>j.acosta@datatables.net</td>
- </tr>
- <tr>
- <td>Cara Stevens</td>
- <td>Sales Assistant</td>
- <td>$145,600</td>
- <td>New York</td>
- <td>3990</td>
- <td>c.stevens@datatables.net</td>
- </tr>
- <tr>
- <td>Hermione Butler</td>
- <td>Regional Director</td>
- <td>$356,250</td>
- <td>London</td>
- <td>1016</td>
- <td>h.butler@datatables.net</td>
- </tr>
- <tr>
- <td>Lael Greer</td>
- <td>Systems Administrator</td>
- <td>$103,500</td>
- <td>London</td>
- <td>6733</td>
- <td>l.greer@datatables.net</td>
- </tr>
- <tr>
- <td>Jonas Alexander</td>
- <td>Developer</td>
- <td>$86,500</td>
- <td>San Francisco</td>
- <td>8196</td>
- <td>j.alexander@datatables.net</td>
- </tr>
- <tr>
- <td>Shad Decker</td>
- <td>Regional Director</td>
- <td>$183,000</td>
- <td>Edinburgh</td>
- <td>6373</td>
- <td>s.decker@datatables.net</td>
- </tr>
- <tr>
- <td>Michael Bruce</td>
- <td>Javascript Developer</td>
- <td>$183,000</td>
- <td>Singapore</td>
- <td>5384</td>
- <td>m.bruce@datatables.net</td>
- </tr>
- <tr>
- <td>Donna Snider</td>
- <td>Customer Support</td>
- <td>$112,000</td>
- <td>New York</td>
- <td>4226</td>
- <td>d.snider@datatables.net</td>
- </tr>
- </tbody>
- </table>
- <ul class="tabs">
- <li class="active">Javascript</li>
- <li>HTML</li>
- <li>CSS</li>
- <li>Ajax</li>
- <li>Server-side script</li>
- </ul>
- <div class="tabs">
- <div class="js">
- <p>The Javascript shown below is used to initialise the table shown in this example:</p><code class="multiline language-js">$(document).ready(function() {
- // jQuery update a column title from the demo table to contain a long description
- // You would not need to do this in your own code.
- $('#example thead tr:eq(0) th:eq(2)').html("This is a really long column title!");
-
- // Wrap the colspan'ing header cells with a span so they can be positioned
- // absolutely - filling the available space, and no more.
- $('#example thead th[colspan]').wrapInner( '<span/>' ).append( '&nbsp;' );
- // Standard initialisation
- $('#example').DataTable( {
- responsive: true,
- paging: false
- } );
- } );</code>
- <p>In addition to the above code, the following Javascript library files are loaded for use in this example:</p>
- <ul>
- <li><a href="../../../../media/js/jquery.js">../../../../media/js/jquery.js</a></li>
- <li><a href="../../../../media/js/jquery.dataTables.js">../../../../media/js/jquery.dataTables.js</a></li>
- <li><a href="../../js/dataTables.responsive.js">../../js/dataTables.responsive.js</a></li>
- </ul>
- </div>
- <div class="table">
- <p>The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:</p>
- </div>
- <div class="css">
- <div>
- <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
- additional CSS used is shown below:</p><code class="multiline language-css">th {
- position: relative;
- min-height: 41px;
- }
- span {
- display: block;
- position: absolute;
- left: 0;
- right: 0;
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
- }</code>
- </div>
- <p>The following CSS library files are loaded for use in this example to provide the styling of the table:</p>
- <ul>
- <li><a href="../../../../media/css/jquery.dataTables.css">../../../../media/css/jquery.dataTables.css</a></li>
- <li><a href="../../css/dataTables.responsive.css">../../css/dataTables.responsive.css</a></li>
- </ul>
- </div>
- <div class="ajax">
- <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
- loaded.</p>
- </div>
- <div class="php">
- <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
- processing scripts can be written in any language, using <a href="//datatables.net/manual/server-side">the protocol described in the DataTables
- documentation</a>.</p>
- </div>
- </div>
- </section>
- </div>
- <section>
- <div class="footer">
- <div class="gradient"></div>
- <div class="liner">
- <h2>Other examples</h2>
- <div class="toc">
- <div class="toc-group">
- <h3><a href="../initialisation/index.html">Basic initialisation</a></h3>
- <ul class="toc">
- <li><a href="../initialisation/className.html">Class name</a></li>
- <li><a href="../initialisation/option.html">Configuration option</a></li>
- <li><a href="../initialisation/new.html">`new` constructor</a></li>
- <li><a href="../initialisation/ajax.html">Ajax data</a></li>
- <li><a href="../initialisation/default.html">Default initialisation</a></li>
- </ul>
- </div>
- <div class="toc-group">
- <h3><a href="../styling/index.html">Styling</a></h3>
- <ul class="toc">
- <li><a href="../styling/bootstrap.html">Bootstrap styling</a></li>
- <li><a href="../styling/foundation.html">Foundation styling</a></li>
- <li><a href="../styling/scrolling.html">Vertical scrolling</a></li>
- <li><a href="../styling/compact.html">Compact styling</a></li>
- </ul>
- </div>
- <div class="toc-group">
- <h3><a href="./index.html">Display control</a></h3>
- <ul class="toc active">
- <li><a href="./auto.html">Automatic column hiding</a></li>
- <li><a href="./classes.html">Class control</a></li>
- <li><a href="./init-classes.html">Assigned class control</a></li>
- <li><a href="./fixedHeader.html">With FixedHeader</a></li>
- <li class="active"><a href="./complexHeader.html">Complex headers (rowspan / colspan)</a></li>
- </ul>
- </div>
- <div class="toc-group">
- <h3><a href="../child-rows/index.html">Child rows</a></h3>
- <ul class="toc">
- <li><a href="../child-rows/disable-child-rows.html">Disable child rows</a></li>
- <li><a href="../child-rows/column-control.html">Column controlled child rows</a></li>
- <li><a href="../child-rows/right-column.html">Column control - right</a></li>
- <li><a href="../child-rows/whole-row-control.html">Whole row child row control</a></li>
- <li><a href="../child-rows/custom-renderer.html">Custom child row renderer</a></li>
- </ul>
- </div>
- </div>
- <div class="epilogue">
- <p>Please refer to the <a href="http://www.datatables.net">DataTables documentation</a> for full information about its API properties and methods.<br>
- 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>
- which extend the capabilities of DataTables.</p>
- <p class="copyright">DataTables designed and created by <a href="http://www.sprymedia.co.uk">SpryMedia Ltd</a> © 2007-2015<br>
- DataTables is licensed under the <a href="http://www.datatables.net/mit">MIT license</a>.</p>
- </div>
- </div>
- </div>
- </section>
- </body>
- </html>
|