Как экспортировать определенное количество столбцов за раз в UI-Grid? - PullRequest
0 голосов
/ 01 мая 2019

Это связано с ссылкой на github (пользователь имеет 40 столбцов и хочет экспортировать в pdf). Решением здесь было просто использовать альбомный режим (который я уже пробовал), но у меня есть таблица с ровно 117 столбцами (да, смешное количество столбцов), и, к сожалению, мне нужно экспортировать их все, так как каждый столбец содержит важную информацию .

Есть ли способ распечатать количество столбцов x одновременно?

(Например, допустим, я хочу экспортировать таблицу из 150 столбцов, и pdfmake [или любой другой способ, которым вы экспортируете pdf как], печатает 25 столбцов на страницу в альбомном режиме. Это означает, что для 6 выведите первые 'y' строки таблицы (где y = максимальное количество строк, которые можно уместить в распечатке в формате pdf в альбомной ориентации).

До сих пор это было мое единственное решение для экспорта таблиц с огромным количеством столбцов. Буду признателен за любую помощь / совет!

В данный момент мои параметры сетки выглядят примерно так:

$scope.gridOptions= {
      enableGridMenu: true,
      enableSelectAll: true,
      exporterCsvFilename: 'Report.csv',
      enableColumnMenus : false,
      enableColumnResizing: true,

      exporterPdfDefaultStyle: {fontSize: 9},
      //need this to center grid
      exporterPdfTableStyle: {margin: [-40, -10, -10, -20]},
      exporterExcelFilename: 'myFile.xlsx',
      exporterExcelSheetName: 'Sheet1',
      exporterPdfTableHeaderStyle: {fontSize: 10, bold: true, italics: 
                                    true, color: 'red'},
      exporterPdfHeader: {  text: "", style: 'headerStyle'},
      //Allows external buttons to be pressed for exporting
      onRegisterApi: function(gridApi){$scope.gridApi = gridApi;
                                       },
      exporterPdfMaxGridWidth: 680,
      exporterPdfFooter: function ( currentPage, pageCount ) {
          return { text: 'Page ' + currentPage.toString() + ' of ' + 
                  pageCount.toString(), style: 'footerStyle' };
                  },
      exporterFieldCallback: function (grid, row, col, value) {
          return grid.getCellDisplayValue(row, col);
      }

  };

$scope.exportCsv = function() {
    var grid = $scope.gridApi.grid;
    var rowTypes = uiGridExporterConstants.ALL;
    var colTypes = uiGridExporterConstants.ALL;
    uiGridExporterService.csvExport(grid, rowTypes, colTypes);
  };

  $scope.exportPdf = function() {
    var grid = $scope.gridApi.grid;
    var rowTypes = uiGridExporterConstants.ALL;
    var colTypes = uiGridExporterConstants.ALL;
    uiGridExporterService.pdfExport(grid, rowTypes, colTypes);
  };

(Если я попытаюсь экспортировать pdf в этот момент с этим, экспорт csv будет работать нормально, но экспорт pdf будет зависать каждый раз)

...