网格外部导出按钮
我是新的Angular UI-GRID,我需要创建外部按钮来导出类似于此图像的PDF导出和CSV导出功能。 你有什么想法,我该怎么做?
另外我需要一个打印按钮,但我没有在文档中看到它。 这个网格是否有打印行为?
谢谢你,埃内斯托
看看ui-grid.exporter的源代码(这将专门用于解决pdf导出问题,该问题始于〜972行,但您也可以将其应用于csv用例),您可能需要创建一个外部按钮你的html,然后通过ng-click
将uiGridExporterService
的pdfExport()
函数pdfExport()
到按钮上。 根据代码, pdfExport
函数有三个参数:grid,rowTypes和colTypes。 要获取网格对象,请使用$scope.gridApi.grid
,后两者需要设置为常量 - uiGridExporterConstants.ALL
, uiGridExporterConstants.SELECTED
或uiGridExporterConstants.VISIBLE
- 具体取决于您想要导出的内容。 确保你在模块中注入了uiGridExporterService
和uiGridExporterConstants
。
看看我使用ui-grid文档改编的这款游戏。 相关位:
<div ui-grid="gridOptions" ui-grid-selection ui-grid-exporter class="grid"></div>
<button ng-click="exportPdf()">PDF</button>
$scope.exportPdf = function() {
var grid = $scope.gridApi.grid;
var rowTypes = uiGridExporterConstants.ALL;
var colTypes = uiGridExporterConstants.ALL;
uiGridExporterService.pdfExport(grid, rowTypes, colTypes);
};
希望有所帮助!
确保你将enableGridMenu设置为false。
并在GridOptions内部做这样的事情:
'exporterCsvFilename' : 'clarification-status.csv',
exporterCsvLinkElement: angular.element(document.querySelectorAll(".custom-csv-link-location")),
onRegisterApi: function(gridApi){
vm.gridApi = gridApi;
},
然后你需要使用这样的export csv或exportpdf函数。
vm.exportCsv = function() {
var grid = vm.gridApi.grid;
var rowTypes = uiGridExporterConstants.ALL;
var colTypes = uiGridExporterConstants.ALL;
uiGridExporterService.csvExport(grid, rowTypes, colTypes);
};
并在你的html视图中,你需要调用这个exportcsv()函数,如下所示。
<img ng-src="public/images/excel-icon.png" ng-click="vm.exportCsv()" />