【问题标题】:How to hide column based on condition in Jquery Datatables?如何在 Jquery Datatables 中根据条件隐藏列?
【发布时间】:2020-07-25 15:08:16
【问题描述】:

我被困在基于条件的 JQuery DataTables 中隐藏列,我有基于选中值的单选按钮列表我需要在数据表中显示特定列我如何实现这一点?我像下面一样隐藏列,但是当我点击 excel 按钮时,所有隐藏的列都显示在 excel 中,没有任何数据

if ($scope.searchAtDefaultVal == 'Voucher') {
   //hide coloumn for voucher
   $scope.voucherSearchTable.column(8).visible(false);
   $scope.voucherSearchTable.column(9).visible(false);
   $scope.voucherSearchTable.column(10).visible(false);
   $scope.voucherSearchTable.column(11).visible(true);

   }
   else {
     $scope.voucherSearchTable.column(8).visible(true);
     $scope.voucherSearchTable.column(9).visible(true);
     $scope.voucherSearchTable.column(10).visible(true);
     $scope.voucherSearchTable.column(11).visible(false);

   }

上面的代码我正在工作,但问题是当我点击 excel 按钮时,隐藏列也显示在没有数据的 excel 表中。

【问题讨论】:

  • 我实际上已经对数据表进行了一些 DOM 操作,并创建了自己的 excel 导出函数来显示它。

标签: javascript jquery jquery-ui datatables


【解决方案1】:

初始化表格时,可以指定导出数据的选择器:

buttons: [
           {
             extend: 'excelHtml5',
             exportOptions: { 
                columns: ':visible' // <-- using datatables selector
            }
        }
    ]

这样只会导出表格的可见部分,更多信息请查看https://datatables.net/extensions/buttons/examples/html5/columns.html

【讨论】:

  • 我已经添加了这个,但它会隐藏所有隐藏列在excel表格中,如何在excel中显示隐藏列。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-27
  • 2021-09-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多