Datatables (jQuery)

If you use an sqlite node to retrieve the data, it will output an array of rows, I would feed this into a (normal/ not ui_) template node which uses mustache syntax - and can then create the html table for you - then feed that into the data part of the table.

sort of like this - well here I just show how to inject the html table into the template but...

[{"id":"709fca12.c3cf54","type":"ui_template","z":"82738787.0e0338","group":"3fe3d1e3.c6d01e","name":"Head","order":2,"width":"16","height":"17","format":"\n<script type=\"text/javascript\" charset=\"utf8\" src=\"https://cdn.datatables.net/1.10.19/js/jquery.dataTables.js\"></script>\n","storeOutMessages":true,"fwdInMessages":true,"templateScope":"global","x":510,"y":1000,"wires":[[]]},{"id":"37029ff2.ffb3a","type":"ui_template","z":"82738787.0e0338","group":"3fe3d1e3.c6d01e","name":"Table","order":3,"width":"16","height":"17","format":"<div ng-bind-html=\"msg.payload\"></div>\n<script type=\"text/javascript\" class=\"init\">\n\n  $(document).ready(function() {\n    $('#example').dataTable();\n  } );\n\n</script>    \n","storeOutMessages":true,"fwdInMessages":true,"templateScope":"local","x":510,"y":1060,"wires":[[]]},{"id":"17141a83.e4b6e5","type":"template","z":"82738787.0e0338","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"   <table id=\"example\" class=\"display\" style=\"width:100%\">\n            <thead>\n              <tr>\n                <th>Name</th>\n                <th>Position</th>\n                <th>Office</th>\n                <th>Age</th>\n                <th>Start date</th>\n                <th>Salary</th>\n              </tr>\n            </thead>\n            <tbody>\n              <tr>\n                <td>Tiger Nixon</td>\n                <td>System Architect</td>\n                <td>Edinburgh</td>\n                <td>61</td>\n                <td>2011/04/25</td>\n                <td>$320,800</td>\n              </tr>\n              <tr>\n                <td>Garrett Winters</td>\n                <td>Accountant</td>\n                <td>Tokyo</td>\n                <td>63</td>\n                <td>2011/07/25</td>\n                <td>$170,750</td>\n              </tr>\n              <tr>\n                <td>Ashton Cox</td>\n                <td>Junior Technical Author</td>\n                <td>San Francisco</td>\n                <td>66</td>\n                <td>2009/01/12</td>\n                <td>$86,000</td>\n              </tr>\n              <tr>\n                <td>Cedric Kelly</td>\n                <td>Senior Javascript Developer</td>\n                <td>Edinburgh</td>\n                <td>22</td>\n                <td>2012/03/29</td>\n                <td>$433,060</td>\n              </tr>\n              <tr>\n                <td>Airi Satou</td>\n                <td>Accountant</td>\n                <td>Tokyo</td>\n                <td>33</td>\n                <td>2008/11/28</td>\n                <td>$162,700</td>\n              </tr>\n              <tr>\n                <td>Brielle Williamson</td>\n                <td>Integration Specialist</td>\n                <td>New York</td>\n                <td>61</td>\n                <td>2012/12/02</td>\n                <td>$372,000</td>\n              </tr>\n              <tr>\n                <td>Herrod Chandler</td>\n                <td>Sales Assistant</td>\n                <td>San Francisco</td>\n                <td>59</td>\n                <td>2012/08/06</td>\n                <td>$137,500</td>\n              </tr>\n              <tr>\n                <td>Rhona Davidson</td>\n                <td>Integration Specialist</td>\n                <td>Tokyo</td>\n                <td>55</td>\n                <td>2010/10/14</td>\n                <td>$327,900</td>\n              </tr>\n              <tr>\n                <td>Colleen Hurst</td>\n                <td>Javascript Developer</td>\n                <td>San Francisco</td>\n                <td>39</td>\n                <td>2009/09/15</td>\n                <td>$205,500</td>\n              </tr>\n              <tr>\n                <td>Sonya Frost</td>\n                <td>Software Engineer</td>\n                <td>Edinburgh</td>\n                <td>23</td>\n                <td>2008/12/13</td>\n                <td>$103,600</td>\n              </tr>\n              <tr>\n                <td>Jena Gaines</td>\n                <td>Office Manager</td>\n                <td>London</td>\n                <td>30</td>\n                <td>2008/12/19</td>\n                <td>$90,560</td>\n              </tr>\n              <tr>\n                <td>Quinn Flynn</td>\n                <td>Support Lead</td>\n                <td>Edinburgh</td>\n                <td>22</td>\n                <td>2013/03/03</td>\n                <td>$342,000</td>\n              </tr>\n              <tr>\n                <td>Charde Marshall</td>\n                <td>Regional Director</td>\n                <td>San Francisco</td>\n                <td>36</td>\n                <td>2008/10/16</td>\n                <td>$470,600</td>\n              </tr>\n              <tr>\n                <td>Haley Kennedy</td>\n                <td>Senior Marketing Designer</td>\n                <td>London</td>\n                <td>43</td>\n                <td>2012/12/18</td>\n                <td>$313,500</td>\n              </tr>\n              <tr>\n                <td>Tatyana Fitzpatrick</td>\n                <td>Regional Director</td>\n                <td>London</td>\n                <td>19</td>\n                <td>2010/03/17</td>\n                <td>$385,750</td>\n              </tr>\n              <tr>\n                <td>Michael Silva</td>\n                <td>Marketing Designer</td>\n                <td>London</td>\n                <td>66</td>\n                <td>2012/11/27</td>\n                <td>$198,500</td>\n              </tr>\n              <tr>\n                <td>Paul Byrd</td>\n                <td>Chief Financial Officer (CFO)</td>\n                <td>New York</td>\n                <td>64</td>\n                <td>2010/06/09</td>\n                <td>$725,000</td>\n              </tr>\n              <tr>\n                <td>Gloria Little</td>\n                <td>Systems Administrator</td>\n                <td>New York</td>\n                <td>59</td>\n                <td>2009/04/10</td>\n                <td>$237,500</td>\n              </tr>\n              <tr>\n                <td>Bradley Greer</td>\n                <td>Software Engineer</td>\n                <td>London</td>\n                <td>41</td>\n                <td>2012/10/13</td>\n                <td>$132,000</td>\n              </tr>\n              <tr>\n                <td>Dai Rios</td>\n                <td>Personnel Lead</td>\n                <td>Edinburgh</td>\n                <td>35</td>\n                <td>2012/09/26</td>\n                <td>$217,500</td>\n              </tr>\n              <tr>\n                <td>Jenette Caldwell</td>\n                <td>Development Lead</td>\n                <td>New York</td>\n                <td>30</td>\n                <td>2011/09/03</td>\n                <td>$345,000</td>\n              </tr>\n              <tr>\n                <td>Yuri Berry</td>\n                <td>Chief Marketing Officer (CMO)</td>\n                <td>New York</td>\n                <td>40</td>\n                <td>2009/06/25</td>\n                <td>$675,000</td>\n              </tr>\n              <tr>\n                <td>Caesar Vance</td>\n                <td>Pre-Sales Support</td>\n                <td>New York</td>\n                <td>21</td>\n                <td>2011/12/12</td>\n                <td>$106,450</td>\n              </tr>\n              <tr>\n                <td>Doris Wilder</td>\n                <td>Sales Assistant</td>\n                <td>Sidney</td>\n                <td>23</td>\n                <td>2010/09/20</td>\n                <td>$85,600</td>\n              </tr>\n              <tr>\n                <td>Angelica Ramos</td>\n                <td>Chief Executive Officer (CEO)</td>\n                <td>London</td>\n                <td>47</td>\n                <td>2009/10/09</td>\n                <td>$1,200,000</td>\n              </tr>\n              <tr>\n                <td>Gavin Joyce</td>\n                <td>Developer</td>\n                <td>Edinburgh</td>\n                <td>42</td>\n                <td>2010/12/22</td>\n                <td>$92,575</td>\n              </tr>\n              <tr>\n                <td>Jennifer Chang</td>\n                <td>Regional Director</td>\n                <td>Singapore</td>\n                <td>28</td>\n                <td>2010/11/14</td>\n                <td>$357,650</td>\n              </tr>\n              <tr>\n                <td>Brenden Wagner</td>\n                <td>Software Engineer</td>\n                <td>San Francisco</td>\n                <td>28</td>\n                <td>2011/06/07</td>\n                <td>$206,850</td>\n              </tr>\n              <tr>\n                <td>Fiona Green</td>\n                <td>Chief Operating Officer (COO)</td>\n                <td>San Francisco</td>\n                <td>48</td>\n                <td>2010/03/11</td>\n                <td>$850,000</td>\n              </tr>\n              <tr>\n                <td>Shou Itou</td>\n                <td>Regional Marketing</td>\n                <td>Tokyo</td>\n                <td>20</td>\n                <td>2011/08/14</td>\n                <td>$163,000</td>\n              </tr>\n              <tr>\n                <td>Michelle House</td>\n                <td>Integration Specialist</td>\n                <td>Sidney</td>\n                <td>37</td>\n                <td>2011/06/02</td>\n                <td>$95,400</td>\n              </tr>\n              <tr>\n                <td>Suki Burks</td>\n                <td>Developer</td>\n                <td>London</td>\n                <td>53</td>\n                <td>2009/10/22</td>\n                <td>$114,500</td>\n              </tr>\n              <tr>\n                <td>Prescott Bartlett</td>\n                <td>Technical Author</td>\n                <td>London</td>\n                <td>27</td>\n                <td>2011/05/07</td>\n                <td>$145,000</td>\n              </tr>\n              <tr>\n                <td>Gavin Cortez</td>\n                <td>Team Leader</td>\n                <td>San Francisco</td>\n                <td>22</td>\n                <td>2008/10/26</td>\n                <td>$235,500</td>\n              </tr>\n              <tr>\n                <td>Martena Mccray</td>\n                <td>Post-Sales support</td>\n                <td>Edinburgh</td>\n                <td>46</td>\n                <td>2011/03/09</td>\n                <td>$324,050</td>\n              </tr>\n              <tr>\n                <td>Unity Butler</td>\n                <td>Marketing Designer</td>\n                <td>San Francisco</td>\n                <td>47</td>\n                <td>2009/12/09</td>\n                <td>$85,675</td>\n              </tr>\n              <tr>\n                <td>Howard Hatfield</td>\n                <td>Office Manager</td>\n                <td>San Francisco</td>\n                <td>51</td>\n                <td>2008/12/16</td>\n                <td>$164,500</td>\n              </tr>\n              <tr>\n                <td>Hope Fuentes</td>\n                <td>Secretary</td>\n                <td>San Francisco</td>\n                <td>41</td>\n                <td>2010/02/12</td>\n                <td>$109,850</td>\n              </tr>\n              <tr>\n                <td>Vivian Harrell</td>\n                <td>Financial Controller</td>\n                <td>San Francisco</td>\n                <td>62</td>\n                <td>2009/02/14</td>\n                <td>$452,500</td>\n              </tr>\n              <tr>\n                <td>Timothy Mooney</td>\n                <td>Office Manager</td>\n                <td>London</td>\n                <td>37</td>\n                <td>2008/12/11</td>\n                <td>$136,200</td>\n              </tr>\n              <tr>\n                <td>Jackson Bradshaw</td>\n                <td>Director</td>\n                <td>New York</td>\n                <td>65</td>\n                <td>2008/09/26</td>\n                <td>$645,750</td>\n              </tr>\n              <tr>\n                <td>Olivia Liang</td>\n                <td>Support Engineer</td>\n                <td>Singapore</td>\n                <td>64</td>\n                <td>2011/02/03</td>\n                <td>$234,500</td>\n              </tr>\n              <tr>\n                <td>Bruno Nash</td>\n                <td>Software Engineer</td>\n                <td>London</td>\n                <td>38</td>\n                <td>2011/05/03</td>\n                <td>$163,500</td>\n              </tr>\n              <tr>\n                <td>Sakura Yamamoto</td>\n                <td>Support Engineer</td>\n                <td>Tokyo</td>\n                <td>37</td>\n                <td>2009/08/19</td>\n                <td>$139,575</td>\n              </tr>\n              <tr>\n                <td>Thor Walton</td>\n                <td>Developer</td>\n                <td>New York</td>\n                <td>61</td>\n                <td>2013/08/11</td>\n                <td>$98,540</td>\n              </tr>\n              <tr>\n                <td>Finn Camacho</td>\n                <td>Support Engineer</td>\n                <td>San Francisco</td>\n                <td>47</td>\n                <td>2009/07/07</td>\n                <td>$87,500</td>\n              </tr>\n              <tr>\n                <td>Serge Baldwin</td>\n                <td>Data Coordinator</td>\n                <td>Singapore</td>\n                <td>64</td>\n                <td>2012/04/09</td>\n                <td>$138,575</td>\n              </tr>\n              <tr>\n                <td>Zenaida Frank</td>\n                <td>Software Engineer</td>\n                <td>New York</td>\n                <td>63</td>\n                <td>2010/01/04</td>\n                <td>$125,250</td>\n              </tr>\n              <tr>\n                <td>Zorita Serrano</td>\n                <td>Software Engineer</td>\n                <td>San Francisco</td>\n                <td>56</td>\n                <td>2012/06/01</td>\n                <td>$115,000</td>\n              </tr>\n              <tr>\n                <td>Jennifer Acosta</td>\n                <td>Junior Javascript Developer</td>\n                <td>Edinburgh</td>\n                <td>43</td>\n                <td>2013/02/01</td>\n                <td>$75,650</td>\n              </tr>\n              <tr>\n                <td>Cara Stevens</td>\n                <td>Sales Assistant</td>\n                <td>New York</td>\n                <td>46</td>\n                <td>2011/12/06</td>\n                <td>$145,600</td>\n              </tr>\n              <tr>\n                <td>Hermione Butler</td>\n                <td>Regional Director</td>\n                <td>London</td>\n                <td>47</td>\n                <td>2011/03/21</td>\n                <td>$356,250</td>\n              </tr>\n              <tr>\n                <td>Lael Greer</td>\n                <td>Systems Administrator</td>\n                <td>London</td>\n                <td>21</td>\n                <td>2009/02/27</td>\n                <td>$103,500</td>\n              </tr>\n              <tr>\n                <td>Jonas Alexander</td>\n                <td>Developer</td>\n                <td>San Francisco</td>\n                <td>30</td>\n                <td>2010/07/14</td>\n                <td>$86,500</td>\n              </tr>\n              <tr>\n                <td>Shad Decker</td>\n                <td>Regional Director</td>\n                <td>Edinburgh</td>\n                <td>51</td>\n                <td>2008/11/13</td>\n                <td>$183,000</td>\n              </tr>\n              <tr>\n                <td>Michael Bruce</td>\n                <td>Javascript Developer</td>\n                <td>Singapore</td>\n                <td>29</td>\n                <td>2011/06/27</td>\n                <td>$183,000</td>\n              </tr>\n              <tr>\n                <td>Donna Snider</td>\n                <td>Customer Support</td>\n                <td>New York</td>\n                <td>27</td>\n                <td>2011/01/25</td>\n                <td>$112,000</td>\n              </tr>\n            </tbody>\n            <tfoot>\n              <tr>\n                <th>Name</th>\n                <th>Position</th>\n                <th>Office</th>\n                <th>Age</th>\n                <th>Start date</th>\n                <th>Salary</th>\n              </tr>\n            </tfoot>\n          </table>\n","output":"str","x":360,"y":1060,"wires":[["37029ff2.ffb3a"]]},{"id":"46f14b8a.1f65e4","type":"ui_button","z":"82738787.0e0338","name":"","group":"3fe3d1e3.c6d01e","order":1,"width":0,"height":0,"passthru":false,"label":"button","tooltip":"","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"","x":110,"y":1060,"wires":[["17141a83.e4b6e5"]]},{"id":"3fe3d1e3.c6d01e","type":"ui_group","z":"","name":"Group 1","tab":"466610b4.b6b32","order":1,"disp":true,"width":"16","collapse":true},{"id":"466610b4.b6b32","type":"ui_tab","z":"","name":"Tabulka","icon":"dashboard","disabled":false,"hidden":false}]
1 Like

Having DataTable libraries locally on the node-red server solved the first part of the problem (see the text in the post above).

<link rel="stylesheet" type="text/css" href="/verejne/DataTables/DataTables-1.10.18/css/jquery.dataTables.css"/>
 
<script type="text/javascript" src="/verejne/DataTables/DataTables-1.10.18/js/jquery.dataTables.js"></script>

<script>
var cssId = 'myCss'; // you could encode the css path itself to generate id..
if (!document.getElementById(cssId))
{
var head = document.getElementsByTagName('head')[0];
var link = document.createElement('link');
link.id = cssId;
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = 'https://cdn.datatables.net/1.10.22/css/jquery.dataTables.min.css';
link.media = 'all';
head.appendChild(link);
}
</script>

@AndresCotes Iā€™m not sure if you are posting a solution or question but since this thread is over two yeats old Iā€™m going to close it. If you have a question please open a new thread.