[英]Hide columns not working properly with server side processing in jquery datatables
我正在使用 jquery 數據表(1.10.9)進行服務器端處理。
tab = $('#'+div).dataTable( {
"sDom": 'T<"clear">frltip',
"aaSorting": [],
"bAutoWidth" : false,
"sPaginationType": "full_numbers",
"sScrollY": "550px",
"sScrollX": "100%",
"bFilter": true,
"aoColumnDefs": [{ "bSearchable": false, "aTargets": [ 2 ] },{ "bSortable": false, "bSearchable": false, "aTargets": [ 12 ] },{ "bSortable": false, "bSearchable": false, "aTargets": [ 13 ] }],
"oTableTools": {},
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": 'data/getdata',
"fnServerParams": function ( aoData ) {
},
"fnRowCallback": function( nRow, aData, iDisplayIndex ){
// Processing data like:
// $('td:eq(2)', nRow ).html( 'Test' );
}
});
// Hiding 5th column
tab.fnSetColumnVis( 5, false); //Does not work.Removes the column header but not the row data.
如何讓隱藏列與 jquery 數據表中的服務器端處理一起正常工作?
我按照以下方式工作:
fnDrawCallback: function() {
$('td:nth-child(3),th:nth-child(3)').hide();
}]
tab.fnSetColumnVis(3,false)將無法工作,因為它重新獲取data.Hence,必須使用簡單的舊jquery來完成它。
fnSetColumnVis()函數具有不重新綁定數據的第三個屬性(true或false)。 所以嘗試使用fnSetColumnVis(3,false,flase)可能會有所幫助。
你在設置數據表時這樣做,因此使用“ColumnDefs”,其中 targets 是你想要隱藏的列的編號:
tab = $('#'+div).dataTable( {
"columnDefs": [{ targets: 5, visible: false }],
"sDom": 'T<"clear">frltip',
"aaSorting": [],
"bAutoWidth" : false,
...
如果您有 2 個隱藏列,它將如下所示:
"columnDefs": [{ targets: 5, visible: false }, { targets: 6, visible: false }],
注意:列編號從 0 開始。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.