I want to hide groups of columns or select the ones to show or hide using buttons in my datatable. This is my javascript code:
$('#doentes').DataTable({
"ajax" : "phpcode.php",
"columns" : [
{
"data" : "item1"
}, {
"data" : "item2"
}, {
"data" : "item3"
}, {
"data" : "item4"
}, {
"data" : "item5"
}],
"scrollX": true,
"orderFixed": [[ 1, "asc"],[ 2, "asc"],[ 3, "asc"]]
});
I can't get the hiding buttons to work, i've tried some examples without success, like:
dom: 'Bfrtip',
buttons: [
'colvis'
]
and
dom: 'Bfrtip',
buttons: [
{
extend: 'colvisGroup',
text: 'Group 1',
show: [ 1, 2 ],
hide: [ 3, 4 ]
},
{
extend: 'colvisGroup',
text: 'Group 2',
show: [ 3, 4 ],
hide: [ 1, 2 ]
},
{
extend: 'colvisGroup',
text: 'Group 3',
show: ':hidden'
}
]
How can I apply this to my code?
Edit: my includes:
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap4.min.css">
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.16/js/dataTables.bootstrap4.min.js"></script>
No error appear on the console when i try those options, the only difference is that the dropdown with the option to show 10, 25,50 and 100 rows per page dissapear.
I do not see that you are including the needed library for colvis:
<script src="https://cdn.datatables.net/buttons/1.4.2/js/dataTables.buttons.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.4.2/js/buttons.colVis.min.js"></script>
Please note - this property requires the Buttons extension for DataTables. https://datatables.net/reference/button/colvis
As for:
the only difference is that the dropdown with the option to show 10, 25,50 and 100 rows per page dissapear.
For this on the dom
option set it like:
dom: 'Blfrtip'
Where 'l' is the length dropdown: https://datatables.net/examples/basic_init/dom.html
So as resume here an example (a really basic one):
$(document).ready(function() { $('#example').DataTable({ dom: 'Blfrtip', buttons: [ 'colvis' ] }); });
<link href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css" rel="stylesheet" /> <link href="https://cdn.datatables.net/buttons/1.4.2/css/buttons.dataTables.min.css" rel="stylesheet" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script> <script src="https://cdn.datatables.net/buttons/1.4.2/js/dataTables.buttons.min.js"></script> <script src="https://cdn.datatables.net/buttons/1.4.2/js/buttons.colVis.min.js"></script> <table id="example" class="display" width="100%" cellspacing="0"> <thead> <tr> <th>Name</th> <th>Position</th> <th>Office</th> <th>Age</th> <th>Start date</th> <th>Salary</th> </tr> </thead> <tfoot> <tr> <th>Name</th> <th>Position</th> <th>Office</th> <th>Age</th> <th>Start date</th> <th>Salary</th> </tr> </tfoot> <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> </tbody> </table>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.