隐藏在数据表中的按钮

时间:2017-10-03 19:03:44

标签: javascript jquery datatables

我想要隐藏列组或使用我的数据表中的按钮选择要显示或隐藏的列。这是我的javascript代码:

$('#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"]]

}); 

我无法使用隐藏按钮,我尝试了一些没有成功的例子,例如:

dom: 'Bfrtip',
        buttons: [
            'colvis'
        ]

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'
            }
        ]

如何将此应用于我的代码?

编辑: 我的包括:

<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> 

当我尝试这些选项时,控制台上没有出现错误,唯一的区别是下拉选项显示每页10,25,50和100行消失。

1 个答案:

答案 0 :(得分:4)

我没有看到你包含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>
  

请注意 - 此属性需要DataTables的Buttons扩展名。   https://datatables.net/reference/button/colvis

至于:

  

唯一的区别是下拉选项显示每页10,25,50和100行消失。

对于dom选项,请设置如下:

dom: 'Blfrtip'

'l'是长度下拉列表:https://datatables.net/examples/basic_init/dom.html

所以在这里继续一个例子(一个非常基本的例子):

$(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>