我是一个新手,正在使用Angular UI-GRID,我需要创建外部按钮来实现导出功能,例如PDF导出和CSV导出,类似于这张图片。你有任何想法如何做到这一点吗?
此外,我需要一个打印按钮,但在文档中没有找到。这个表格有打印行为吗?
谢谢, Ernesto
此外,我需要一个打印按钮,但在文档中没有找到。这个表格有打印行为吗?
谢谢, Ernesto
ng-click
将uiGridExporterService
的pdfExport()
函数与按钮绑定。根据代码,pdfExport
函数需要三个参数:grid、rowTypes和colTypes。要获取网格对象,请使用$scope.gridApi.grid
,而后两个参数需要设置为常量 - uiGridExporterConstants.ALL
、uiGridExporterConstants.SELECTED
或uiGridExporterConstants.VISIBLE
- 具体取决于您要导出什么。确保在您的模块中注入uiGridExporterService
和uiGridExporterConstants
。<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;
},
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()" />