<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link rel="shortcut icon" type="image/ico" href="https://www.datatables.net/favicon.ico"> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0, user-scalable=no"> <title>StateRestore example - No Buttons</title> <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"> </style> <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 defer class="init"> dt_demo.init({ libs: {"targetFramework":"","js":["jquery","datatables","staterestore","buttons"],"css":["datatables","buttons","staterestore"],"components":{"datatables":{"css":"..\/..\/..\/..\/css","js":"..\/..\/..\/..\/js","resolve":true},"autofill":{"css":"..\/..\/..\/..\/..\/extensions\/AutoFill\/css","js":"..\/..\/..\/..\/..\/extensions\/AutoFill\/js","resolve":true},"buttons":{"css":"..\/..\/..\/..\/..\/extensions\/Buttons\/css","js":"..\/..\/..\/..\/..\/extensions\/Buttons\/js","resolve":true},"colreorder":{"css":"..\/..\/..\/..\/..\/extensions\/ColReorder\/css","js":"..\/..\/..\/..\/..\/extensions\/ColReorder\/js","resolve":true},"editor":{"css":"..\/..\/..\/..\/..\/extensions\/Editor\/css","js":"..\/..\/..\/..\/..\/extensions\/Editor\/js","resolve":true},"fixedcolumns":{"css":"..\/..\/..\/..\/..\/extensions\/FixedColumns\/css","js":"..\/..\/..\/..\/..\/extensions\/FixedColumns\/js","resolve":true},"fixedheader":{"css":"..\/..\/..\/..\/..\/extensions\/FixedHeader\/css","js":"..\/..\/..\/..\/..\/extensions\/FixedHeader\/js","resolve":true},"keytable":{"css":"..\/..\/..\/..\/..\/extensions\/KeyTable\/css","js":"..\/..\/..\/..\/..\/extensions\/KeyTable\/js","resolve":true},"responsive":{"css":"..\/..\/..\/..\/..\/extensions\/Responsive\/css","js":"..\/..\/..\/..\/..\/extensions\/Responsive\/js","resolve":true},"rowgroup":{"css":"..\/..\/..\/..\/..\/extensions\/RowGroup\/css","js":"..\/..\/..\/..\/..\/extensions\/RowGroup\/js","resolve":true},"rowreorder":{"css":"..\/..\/..\/..\/..\/extensions\/RowReorder\/css","js":"..\/..\/..\/..\/..\/extensions\/RowReorder\/js","resolve":true},"scroller":{"css":"..\/..\/..\/..\/..\/extensions\/Scroller\/css","js":"..\/..\/..\/..\/..\/extensions\/Scroller\/js","resolve":true},"select":{"css":"..\/..\/..\/..\/..\/extensions\/Select\/css","js":"..\/..\/..\/..\/..\/extensions\/Select\/js","resolve":true},"searchbuilder":{"css":"..\/..\/..\/..\/..\/extensions\/SearchBuilder\/css","js":"..\/..\/..\/..\/..\/extensions\/SearchBuilder\/js","resolve":true},"searchpanes":{"css":"..\/..\/..\/..\/..\/extensions\/SearchPanes\/css","js":"..\/..\/..\/..\/..\/extensions\/SearchPanes\/js","resolve":true},"staterestore":{"css":"..\/..\/..\/..\/..\/extensions\/StateRestore\/css","js":"..\/..\/..\/..\/..\/extensions\/StateRestore\/js","resolve":true},"datetime":{"css":"..\/..\/..\/..\/..\/extensions\/DateTime\/css\/dataTables.dateTime.css","js":"..\/..\/..\/..\/..\/extensions\/DateTime\/js\/dataTables.dateTime.js"},"bootstrap":{"css":"https:\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.3.7\/css\/bootstrap.min.css","js":"https:\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.3.7\/js\/bootstrap.min.js"},"bootstrap4":{"css":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/twitter-bootstrap\/4.5.2\/css\/bootstrap.css","js":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/popper.js\/1.14.3\/umd\/popper.min.js|https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/twitter-bootstrap\/4.5.2\/js\/bootstrap.min.js"},"bootstrap5":{"css":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/twitter-bootstrap\/5.3.0\/css\/bootstrap.min.css","js":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/twitter-bootstrap\/5.3.0\/js\/bootstrap.bundle.min.js"},"bulma":{"css":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/bulma\/0.9.3\/css\/bulma.min.css"},"foundation":{"css":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/foundation\/6.4.3\/css\/foundation.min.css","js":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/foundation\/6.4.3\/js\/foundation.min.js"},"jqueryui":{"css":"https:\/\/code.jquery.com\/ui\/1.13.2\/themes\/base\/jquery-ui.css","js":"https:\/\/code.jquery.com\/ui\/1.13.2\/jquery-ui.js"},"material":{"css":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/material-components-web\/14.0.0\/material-components-web.min.css","js":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/material-components-web\/14.0.0\/material-components-web.min.js"},"semanticui":{"css":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/fomantic-ui\/2.9.2\/semantic.min.css","js":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/fomantic-ui\/2.9.2\/semantic.min.js"},"uikit":{"css":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/uikit\/3.0.2\/css\/uikit.min.css","js":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/uikit\/3.0.2\/js\/uikit.min.js"},"tailwindcss":{"css":"","js":"https:\/\/cdn.tailwindcss.com"},"font-awesome":{"css":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/4.7.0\/css\/font-awesome.min.css"},"world-flags-sprite":{"css":"https:\/\/cdn.jsdelivr.net\/gh\/lafeber\/world-flags-sprite\/stylesheets\/flags32-both.css"},"demo":{"css":"..\/..\/..\/..\/examples\/resources\/demo.css","js":"..\/..\/..\/..\/examples\/resources\/demo.js"},"syntax":{"css":"..\/..\/..\/..\/examples\/resources\/syntax\/shCore.css","js":"..\/..\/..\/..\/examples\/resources\/syntax\/shCore.js"},"buttons-html5":{"js":"..\/..\/..\/..\/..\/extensions\/Buttons\/js\/buttons.html5.js"},"buttons-print":{"js":"..\/..\/..\/..\/..\/extensions\/Buttons\/js\/buttons.print.js"},"buttons-colvis":{"js":"..\/..\/..\/..\/..\/extensions\/Buttons\/js\/buttons.colVis.js"},"jquery":{"js":"https:\/\/code.jquery.com\/jquery-3.7.1.js"},"jszip":{"js":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jszip\/3.10.1\/jszip.min.js"},"pdfmake":{"js":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/pdfmake\/0.2.7\/pdfmake.min.js"},"vfsfonts":{"js":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/pdfmake\/0.2.7\/vfs_fonts.js"},"moment":{"js":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/moment.js\/2.29.2\/moment.min.js"},"luxon":{"js":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/luxon\/2.3.1\/luxon.min.js"},"sparkline":{"js":"https:\/\/cdn.jsdelivr.net\/gh\/fnando\/sparkline\/dist\/sparkline.js"}}}, jquery: function () { var table = $('#example').DataTable(); $('#list').on('click', function () { var states = ''; table.stateRestore.states().each(function (v, i) { states += '\n' + v.s.identifier; }); alert('The current states are:' + states); }); $('#save').on('click', function () { table.stateRestore.state($('#state-selector').val()).save(); }); $('#load').on('click', function () { table.stateRestore.state($('#state-selector').val()).load(); }); $('#remove').on('click', function () { table.stateRestore.state($('#state-selector').val()).remove(); }); $('#removeAll').on('click', function () { table.stateRestore.states().remove(); }); $('#removeSkip').on('click', function () { table.stateRestore.state($('#state-selector').val()).remove(true); }); $('#removeAllSkip').on('click', function () { table.stateRestore.states().remove(true); }); $('#add').on('click', function () { table.stateRestore.state.add($('#state-selector').val()); }); }, vanilla: function () { let table = new DataTable('#example'); let stateSelector = document.querySelector('#state-selector'); document.querySelector('#list').addEventListener('click', function () { var states = ''; table.stateRestore.states().each(function (v, i) { states += '\n' + v.s.identifier; }); alert('The current states are:' + states); }); document.querySelector('#save').addEventListener('click', function () { table.stateRestore.state(stateSelector.value).save(); }); document.querySelector('#load').addEventListener('click', function () { table.stateRestore.state(stateSelector.value).load(); }); document.querySelector('#remove').addEventListener('click', function () { table.stateRestore.state(stateSelector.value).remove(); }); document.querySelector('#removeAll').addEventListener('click', function () { table.stateRestore.states().remove(); }); document.querySelector('#removeSkip').addEventListener('click', function () { table.stateRestore.state(stateSelector.value).remove(true); }); document.querySelector('#removeAllSkip').addEventListener('click', function () { table.stateRestore.states().remove(true); }); document.querySelector('#add').addEventListener('click', function () { table.stateRestore.state.add(stateSelector.value); }); } }); </script> </head> <body class="dt-example"> <div class="container"> <section> <h1>StateRestore example <span>No Buttons</span></h1> <div class="info"> <p>This example demonstrates how the API methods within StateRestore can be used without the standard buttons being present.</p> <p>Use the input element to the right to input an identifier. The other buttons will then implement the relevant API methods.</p> <p><input id="state-selector"> <button id="list">List</button> <button id="save">Update Existing State</button> <button id="add">Add New State</button> <button id= "load">Load</button> <button id="remove">Remove</button> <button id="removeSkip">Remove and skip modal</button> <button id="removeAll">Remove All</button> <button id="removeAllSkip">Remove All skipping modal</button></p> </div> <div class="demo-html"> <table id="example" class="display nowrap" style="width:100%"> <thead> <tr> <th>Name</th> <th>Position</th> <th>Office</th> <th>Age</th> <th>Start date</th> <th>Salary</th> </tr> </thead> <tbody> <tr> <td>Tiger Nixon</td> <td>System Architect</td> <td>Edinburgh</td> <td>61</td> <td>2011-04-25</td> <td>$320,800</td> </tr> <tr> <td>Garrett Winters</td> <td>Accountant</td> <td>Tokyo</td> <td>63</td> <td>2011-07-25</td> <td>$170,750</td> </tr> <tr> <td>Ashton Cox</td> <td>Junior Technical Author</td> <td>San Francisco</td> <td>66</td> <td>2009-01-12</td> <td>$86,000</td> </tr> <tr> <td>Cedric Kelly</td> <td>Senior Javascript Developer</td> <td>Edinburgh</td> <td>22</td> <td>2012-03-29</td> <td>$433,060</td> </tr> <tr> <td>Airi Satou</td> <td>Accountant</td> <td>Tokyo</td> <td>33</td> <td>2008-11-28</td> <td>$162,700</td> </tr> <tr> <td>Brielle Williamson</td> <td>Integration Specialist</td> <td>New York</td> <td>61</td> <td>2012-12-02</td> <td>$372,000</td> </tr> <tr> <td>Herrod Chandler</td> <td>Sales Assistant</td> <td>San Francisco</td> <td>59</td> <td>2012-08-06</td> <td>$137,500</td> </tr> <tr> <td>Rhona Davidson</td> <td>Integration Specialist</td> <td>Tokyo</td> <td>55</td> <td>2010-10-14</td> <td>$327,900</td> </tr> <tr> <td>Colleen Hurst</td> <td>Javascript Developer</td> <td>San Francisco</td> <td>39</td> <td>2009-09-15</td> <td>$205,500</td> </tr> <tr> <td>Sonya Frost</td> <td>Software Engineer</td> <td>Edinburgh</td> <td>23</td> <td>2008-12-13</td> <td>$103,600</td> </tr> <tr> <td>Jena Gaines</td> <td>Office Manager</td> <td>London</td> <td>30</td> <td>2008-12-19</td> <td>$90,560</td> </tr> <tr> <td>Quinn Flynn</td> <td>Support Lead</td> <td>Edinburgh</td> <td>22</td> <td>2013-03-03</td> <td>$342,000</td> </tr> <tr> <td>Charde Marshall</td> <td>Regional Director</td> <td>San Francisco</td> <td>36</td> <td>2008-10-16</td> <td>$470,600</td> </tr> <tr> <td>Haley Kennedy</td> <td>Senior Marketing Designer</td> <td>London</td> <td>43</td> <td>2012-12-18</td> <td>$313,500</td> </tr> <tr> <td>Tatyana Fitzpatrick</td> <td>Regional Director</td> <td>London</td> <td>19</td> <td>2010-03-17</td> <td>$385,750</td> </tr> <tr> <td>Michael Silva</td> <td>Marketing Designer</td> <td>London</td> <td>66</td> <td>2012-11-27</td> <td>$198,500</td> </tr> <tr> <td>Paul Byrd</td> <td>Chief Financial Officer (CFO)</td> <td>New York</td> <td>64</td> <td>2010-06-09</td> <td>$725,000</td> </tr> <tr> <td>Gloria Little</td> <td>Systems Administrator</td> <td>New York</td> <td>59</td> <td>2009-04-10</td> <td>$237,500</td> </tr> <tr> <td>Bradley Greer</td> <td>Software Engineer</td> <td>London</td> <td>41</td> <td>2012-10-13</td> <td>$132,000</td> </tr> <tr> <td>Dai Rios</td> <td>Personnel Lead</td> <td>Edinburgh</td> <td>35</td> <td>2012-09-26</td> <td>$217,500</td> </tr> <tr> <td>Jenette Caldwell</td> <td>Development Lead</td> <td>New York</td> <td>30</td> <td>2011-09-03</td> <td>$345,000</td> </tr> <tr> <td>Yuri Berry</td> <td>Chief Marketing Officer (CMO)</td> <td>New York</td> <td>40</td> <td>2009-06-25</td> <td>$675,000</td> </tr> <tr> <td>Caesar Vance</td> <td>Pre-Sales Support</td> <td>New York</td> <td>21</td> <td>2011-12-12</td> <td>$106,450</td> </tr> <tr> <td>Doris Wilder</td> <td>Sales Assistant</td> <td>Sydney</td> <td>23</td> <td>2010-09-20</td> <td>$85,600</td> </tr> <tr> <td>Angelica Ramos</td> <td>Chief Executive Officer (CEO)</td> <td>London</td> <td>47</td> <td>2009-10-09</td> <td>$1,200,000</td> </tr> <tr> <td>Gavin Joyce</td> <td>Developer</td> <td>Edinburgh</td> <td>42</td> <td>2010-12-22</td> <td>$92,575</td> </tr> <tr> <td>Jennifer Chang</td> <td>Regional Director</td> <td>Singapore</td> <td>28</td> <td>2010-11-14</td> <td>$357,650</td> </tr> <tr> <td>Brenden Wagner</td> <td>Software Engineer</td> <td>San Francisco</td> <td>28</td> <td>2011-06-07</td> <td>$206,850</td> </tr> <tr> <td>Fiona Green</td> <td>Chief Operating Officer (COO)</td> <td>San Francisco</td> <td>48</td> <td>2010-03-11</td> <td>$850,000</td> </tr> <tr> <td>Shou Itou</td> <td>Regional Marketing</td> <td>Tokyo</td> <td>20</td> <td>2011-08-14</td> <td>$163,000</td> </tr> <tr> <td>Michelle House</td> <td>Integration Specialist</td> <td>Sydney</td> <td>37</td> <td>2011-06-02</td> <td>$95,400</td> </tr> <tr> <td>Suki Burks</td> <td>Developer</td> <td>London</td> <td>53</td> <td>2009-10-22</td> <td>$114,500</td> </tr> <tr> <td>Prescott Bartlett</td> <td>Technical Author</td> <td>London</td> <td>27</td> <td>2011-05-07</td> <td>$145,000</td> </tr> <tr> <td>Gavin Cortez</td> <td>Team Leader</td> <td>San Francisco</td> <td>22</td> <td>2008-10-26</td> <td>$235,500</td> </tr> <tr> <td>Martena Mccray</td> <td>Post-Sales support</td> <td>Edinburgh</td> <td>46</td> <td>2011-03-09</td> <td>$324,050</td> </tr> <tr> <td>Unity Butler</td> <td>Marketing Designer</td> <td>San Francisco</td> <td>47</td> <td>2009-12-09</td> <td>$85,675</td> </tr> <tr> <td>Howard Hatfield</td> <td>Office Manager</td> <td>San Francisco</td> <td>51</td> <td>2008-12-16</td> <td>$164,500</td> </tr> <tr> <td>Hope Fuentes</td> <td>Secretary</td> <td>San Francisco</td> <td>41</td> <td>2010-02-12</td> <td>$109,850</td> </tr> <tr> <td>Vivian Harrell</td> <td>Financial Controller</td> <td>San Francisco</td> <td>62</td> <td>2009-02-14</td> <td>$452,500</td> </tr> <tr> <td>Timothy Mooney</td> <td>Office Manager</td> <td>London</td> <td>37</td> <td>2008-12-11</td> <td>$136,200</td> </tr> <tr> <td>Jackson Bradshaw</td> <td>Director</td> <td>New York</td> <td>65</td> <td>2008-09-26</td> <td>$645,750</td> </tr> <tr> <td>Olivia Liang</td> <td>Support Engineer</td> <td>Singapore</td> <td>64</td> <td>2011-02-03</td> <td>$234,500</td> </tr> <tr> <td>Bruno Nash</td> <td>Software Engineer</td> <td>London</td> <td>38</td> <td>2011-05-03</td> <td>$163,500</td> </tr> <tr> <td>Sakura Yamamoto</td> <td>Support Engineer</td> <td>Tokyo</td> <td>37</td> <td>2009-08-19</td> <td>$139,575</td> </tr> <tr> <td>Thor Walton</td> <td>Developer</td> <td>New York</td> <td>61</td> <td>2013-08-11</td> <td>$98,540</td> </tr> <tr> <td>Finn Camacho</td> <td>Support Engineer</td> <td>San Francisco</td> <td>47</td> <td>2009-07-07</td> <td>$87,500</td> </tr> <tr> <td>Serge Baldwin</td> <td>Data Coordinator</td> <td>Singapore</td> <td>64</td> <td>2012-04-09</td> <td>$138,575</td> </tr> <tr> <td>Zenaida Frank</td> <td>Software Engineer</td> <td>New York</td> <td>63</td> <td>2010-01-04</td> <td>$125,250</td> </tr> <tr> <td>Zorita Serrano</td> <td>Software Engineer</td> <td>San Francisco</td> <td>56</td> <td>2012-06-01</td> <td>$115,000</td> </tr> <tr> <td>Jennifer Acosta</td> <td>Junior Javascript Developer</td> <td>Edinburgh</td> <td>43</td> <td>2013-02-01</td> <td>$75,650</td> </tr> <tr> <td>Cara Stevens</td> <td>Sales Assistant</td> <td>New York</td> <td>46</td> <td>2011-12-06</td> <td>$145,600</td> </tr> <tr> <td>Hermione Butler</td> <td>Regional Director</td> <td>London</td> <td>47</td> <td>2011-03-21</td> <td>$356,250</td> </tr> <tr> <td>Lael Greer</td> <td>Systems Administrator</td> <td>London</td> <td>21</td> <td>2009-02-27</td> <td>$103,500</td> </tr> <tr> <td>Jonas Alexander</td> <td>Developer</td> <td>San Francisco</td> <td>30</td> <td>2010-07-14</td> <td>$86,500</td> </tr> <tr> <td>Shad Decker</td> <td>Regional Director</td> <td>Edinburgh</td> <td>51</td> <td>2008-11-13</td> <td>$183,000</td> </tr> <tr> <td>Michael Bruce</td> <td>Javascript Developer</td> <td>Singapore</td> <td>29</td> <td>2011-06-27</td> <td>$183,000</td> </tr> <tr> <td>Donna Snider</td> <td>Customer Support</td> <td>New York</td> <td>27</td> <td>2011-01-25</td> <td>$112,000</td> </tr> </tbody> <tfoot> <tr> <th>Name</th> <th>Position</th> <th>Office</th> <th>Age</th> <th>Start date</th> <th>Salary</th> </tr> </tfoot> </table> </div> <ul class="dt-tabs"> <li class="active">Javascript</li> <li>HTML</li> <li>CSS</li> <li>Ajax</li> <li>Server-side script</li> </ul> <div class="dt-tabs"> <div class="js"> <p>The Javascript shown below is used to initialise the table shown in this example:</p> <div id="js-jquery"> <code class="multiline language-js">var table = $('#example').DataTable(); $('#list').on('click', function () { var states = ''; table.stateRestore.states().each(function (v, i) { states += '\n' + v.s.identifier; }); alert('The current states are:' + states); }); $('#save').on('click', function () { table.stateRestore.state($('#state-selector').val()).save(); }); $('#load').on('click', function () { table.stateRestore.state($('#state-selector').val()).load(); }); $('#remove').on('click', function () { table.stateRestore.state($('#state-selector').val()).remove(); }); $('#removeAll').on('click', function () { table.stateRestore.states().remove(); }); $('#removeSkip').on('click', function () { table.stateRestore.state($('#state-selector').val()).remove(true); }); $('#removeAllSkip').on('click', function () { table.stateRestore.states().remove(true); }); $('#add').on('click', function () { table.stateRestore.state.add($('#state-selector').val()); });</code> </div> <div id="js-vanilla"> <code class="multiline language-js">let table = new DataTable('#example'); let stateSelector = document.querySelector('#state-selector'); document.querySelector('#list').addEventListener('click', function () { var states = ''; table.stateRestore.states().each(function (v, i) { states += '\n' + v.s.identifier; }); alert('The current states are:' + states); }); document.querySelector('#save').addEventListener('click', function () { table.stateRestore.state(stateSelector.value).save(); }); document.querySelector('#load').addEventListener('click', function () { table.stateRestore.state(stateSelector.value).load(); }); document.querySelector('#remove').addEventListener('click', function () { table.stateRestore.state(stateSelector.value).remove(); }); document.querySelector('#removeAll').addEventListener('click', function () { table.stateRestore.states().remove(); }); document.querySelector('#removeSkip').addEventListener('click', function () { table.stateRestore.state(stateSelector.value).remove(true); }); document.querySelector('#removeAllSkip').addEventListener('click', function () { table.stateRestore.states().remove(true); }); document.querySelector('#add').addEventListener('click', function () { table.stateRestore.state.add(stateSelector.value); });</code> </div> <p>In addition to the above code, the following Javascript library files are loaded for use in this example:</p> <ul id="js-lib-files"></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"></code> </div> <p>The following CSS library files are loaded for use in this example to provide the styling of the table:</p> <ul id="css-lib-files"></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="./index.html">Initialisation and options</a></h3> <ul class="toc active"> <li> <a href="./simple.html">Basic StateRestore Example</a> </li> <li> <a href="./alternative.html">Alternative UI</a> </li> <li> <a href="./api.html">Basic StateRestore Example - API</a> </li> <li> <a href="./customSplit.html">Custom Split Buttons</a> </li> <li> <a href="./removeAll.html">Remove All Button</a> </li> <li> <a href="./ajax.html">Ajax Loading and Saving</a> </li> <li> <a href="./ajaxFunction.html">Ajax Function</a> </li> <li> <a href="./predefined.html">Predefined States</a> </li> <li> <a href="./predefinedAjax.html">Predefined States from Ajax</a> </li> <li> <a href="./predefinedAjaxNoSave.html">Predefined States - No Save, Remove, Rename or Create</a> </li> <li> <a href="./noCreation.html">No state creation</a> </li> <li> <a href="./noRemoval.html">No state remove</a> </li> <li> <a href="./noRenaming.html">No state renaming</a> </li> <li> <a href="./noSaving.html">No state saving</a> </li> <li class="active"> <a href="./noButtons.html">No Buttons</a> </li> </ul> </div> <div class="toc-group"> <h3><a href="../customisation/index.html">Customisation</a></h3> <ul class="toc"> <li> <a href="../customisation/activeLabel.html">Label to Display Active States</a> </li> <li> <a href="../customisation/creationModal.html">Creation Modal</a> </li> <li> <a href="../customisation/customStateData.html">Custom State Data</a> </li> <li> <a href="../customisation/columns.html">Creation Modal with Toggle for Columns</a> </li> <li> <a href="../customisation/creationModalToggle.html">Creation Modal with Toggle</a> </li> <li> <a href="../customisation/i18n.html">StateRestore Language Options</a> </li> <li> <a href="../customisation/stateCount.html">Custom Button Text</a> </li> <li> <a href="../customisation/noColumnSearch.html">Don't save column searches</a> </li> <li> <a href="../customisation/childRows.html">Child Rows</a> </li> <li> <a href="../customisation/noColumnVisibility.html">Don't save column visibility</a> </li> <li> <a href="../customisation/noOrder.html">Don't save ordering</a> </li> <li> <a href="../customisation/noLength.html">Don't save page length</a> </li> <li> <a href="../customisation/noPaging.html">Don't save paging</a> </li> <li> <a href="../customisation/noScroller.html">Don't save scroller</a> </li> <li> <a href="../customisation/noSearch.html">Don't save search</a> </li> <li> <a href="../customisation/noSearchBuilder.html">Don't save SearchBuilder</a> </li> <li> <a href="../customisation/noSearchPanes.html">Don't save SearchPanes</a> </li> <li> <a href="../customisation/noSelect.html">Don't save Selections</a> </li> </ul> </div> <div class="toc-group"> <h3><a href="../integration/index.html">Integration with other DataTables extensions</a></h3> <ul class="toc"> <li> <a href="../integration/preDefinedSearchPanes.html">Predefined SearchPanes State</a> </li> <li> <a href="../integration/scroller.html">Scroller Integration</a> </li> <li> <a href="../integration/searchBuilder.html">SearchBuilder Integration</a> </li> <li> <a href="../integration/searchPanes.html">SearchPanes Integration</a> </li> <li> <a href="../integration/select.html">Select Integration</a> </li> <li> <a href="../integration/colReorder.html">ColReorder Integration</a> </li> </ul> </div> <div class="toc-group"> <h3><a href="../styling/index.html">Styling</a></h3> <ul class="toc"> <li> <a href="../styling/bootstrap3.html">Bootstrap 3</a> </li> <li> <a href="../styling/bootstrap4.html">Bootstrap 4</a> </li> <li> <a href="../styling/bootstrap5.html">Bootstrap 5</a> </li> <li> <a href="../styling/bulma.html">Bulma</a> </li> <li> <a href="../styling/foundation.html">Foundation</a> </li> <li> <a href="../styling/jqueryui.html">JQuery UI</a> </li> <li> <a href="../styling/semanticui.html">Fomantic-UI (formally Semantic-UI) styling</a> </li> </ul> </div> </div> <div class="epilogue"> <p>Please refer to the <a href="https://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="https://www.datatables.net/extensions">extensions</a> and <a href= "https://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="https://www.sprymedia.co.uk">SpryMedia Ltd</a> © 2007-2024<br> DataTables is licensed under the <a href="https://www.datatables.net/mit">MIT license</a>.</p> </div> </div> </div> </section> </body> </html>