Как скрыть столбец на основе условия в Jquery Datatables? - PullRequest
0 голосов
/ 13 апреля 2020

Я застрял в скрытом столбце в 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 лист без данных.

1 Ответ

1 голос
/ 13 апреля 2020

При инициализации таблицы вы можете указать селектор, из которого будут экспортироваться данные:

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

Таким образом будут экспортированы только видимые части таблицы, для дополнительной проверки информации https://datatables.net/extensions/buttons/examples/html5/columns.html

...