簡體   English   中英

如何隱藏或顯示使用JavaScript中的數據表創建的表的列?

[英]How to hide or show column of table created using datatables in javascript?

當數據表的源代碼是javascript時,您知道如何隱藏或顯示列嗎?

顯示或隱藏列的方法

 table = $('#example').DataTable();
var col = table.column("0").visible(false);

當數據源直接進入html時工作

<table id="example" class="row-border hover">
        <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>
...          

但當DataTable具有javascript源時,它不起作用並啟動錯誤

 var table = $('#example').dataTable({
                   "data": source,
                    "columns": columns,
                    "columnDefs": defs
    });


 var col = table.column("0").visible(false);//ERROR!

您知道如何用JavaScript源隱藏Datatables列嗎?

試試這個

var table = $('#example').dataTable({
  "data": source,
  "columns": columns,
  "columnDefs": [
  {
    "targets": [ 0 ],
    "visible": false,
  },
  "fnRowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull )     
  {
    $('td:eq(0)', nRow).hide();
  }
});

更新。 嘗試添加fnRowCallback。 謝謝!

我終於找到了另一個答案:它不依賴於html或json源,但是新版本的DataTable()和舊版本的dataTable()之間有區別

column(n).visible(bool) 

適用於DataTable()

fnRowCallback 

適用於dataTable()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM