2016-09-21 88 views
0

我正在使用jQuery數據表插件。如何使用JQuery數據表插件隱藏表中的列?

我試圖用columnDef隱藏一些列,但它們仍然出現。如何使用columnDef來隱藏某些列?

這裏是我的代碼:

你有語法錯誤在你的代碼
<div id="LabResultDataTableView"> 
<table id="TimelineTableTester" class="table table-striped table-bordered"> 
    <thead class="td-datatable"> 
     @foreach (var data in Model.ColumnNames) 
     { 
     <th style="background-color: inherit !important;">@data</th>} 
     } 
     </thead> 
     <tbody> 
      @for (int i = 0; i < Model.columnValuesRowWise.Count; i++) 
      {         
       <tr> 
        @foreach (var col in Model.columnValuesRowWise[i]) 
        { 
        <td>@col</td> 
        } 
       </tr> 
      } 
     </tbody> 
    </table> 
</div> 

$(document).ready(function() { 
    debugger;  
    ProceduresAndOfficeVisitsDataView = $('#TimelineTableTester').DataTable({ 
     "bProcessing": true, 
     "bDeferRender": true, 
     "scrollX": true, 
     "bSort": false, 
     "stateSave": true, 
     "bAutoWidth": true, 
     "columnDefs": [ 
      { 
       "targets": [0], 
       "visible": false, 
      }, 
      { 
       "targets": [11], 
       "visible": false, 

      }, 
      { 
       "targets": [12], 
       "visible": false, 
      }] 

    }); 

}); 
+0

更加明確的措辭。 – Prune

+0

我的答案是否解決了您的問題? –

+0

感謝您的仁慈幫助 – rajiv

回答

0

那麼第一件事情,有"visible": false後,一個額外的,

第二你不需要另行指定每列的列隱藏的邏輯,你可以像

"columnDefs": [ 
      { 
       "targets": [0, 11, 12], 
       "visible": false 
      } 
] 

第三件事"visible": false指定它的列隱藏,但是任何機會的伎倆,如果它沒有發生您可以將您的自定義類與類定義隱藏像下面

"columnDefs": [ 
    { 
    "targets": [0, 11, 12], 
    "sClass": "dt_col_hide" 
    } 
] 

色譜柱

.dt_col_hide{ 
    display: none; 
} 

演示:https://jsfiddle.net/Prakash_Thete/qef33kox/

+0

我認爲在目標中定義列是一個很好的方法。您甚至可以根據需要更改列的順序,只需更改目標數組中的順序即可。 – Vatsal

+0

如果我的答案解決了您的問題,那麼您可以通過點擊綠色的勾號來接受它。 –