AngularJS ui-网格导出菜单缺少导出按钮

AngularJS ui-grid export menu missing export buttons

我是 AngularJS ui-grid 的新手,也是第一次使用导出器功能。 我正在尝试将导出菜单添加到 groovy/grails 应用程序中的现有 ui-网格 运行。 我将此示例用作 guide: http://ui-grid.info/docs/#/tutorial/206_exporting_data

我添加了必要的 javascript 实用程序文件 csv.js、pdfMake.js、vfs_fonts.js。 我按照示例添加了 gridOptions 导出器选项。 我尝试明确设置 gridOptions

...
exporterMenuCsv: true,
exporterMenuPdf: true,
...

但是当它渲染网格菜单时,导出按钮都不见了,只有列选择按钮可见。通过FireBug可以看出实用程序javascript文件已经加载,没有报错。

我遗漏了什么会导致菜单中不生成导出按钮?

示例文档指出 "Note that the option to export selected data is only visible if you have data selected." 但是在我的情况下,无论选择了任何数据,都不会显示导出按钮。

我正在使用 ui-grid 3.0.0-rc.20

已解决:问题是由 Angularjs 模块的冗余定义引起的。

看完以下内容后

Angular ui grid, change behavior of "Export all data as csv"

我试图明确定义我自己的菜单导出按钮,得到一个 "unknown provider error",然后我遇到了以下内容:

https://docs.angularjs.org/error/$injector/unpr

那时我意识到我 不小心重新定义了我的模块 并在其中一个定义中遗漏了 "ui.grid.exporter",因为我使用了多个 AngularJS 应用程序中的文件。一旦我删除了额外的模块定义,导出按钮就出现了!

这与加载选项的顺序和 data.Load 加载数据之前的网格选项有关。

//call this when page constaining grid loads
$scope.loadPage = function(){
  $scope.gridOptions = {
        columnDefs: [
            { field: 'field1'},
            { field: 'field2'},
            { field: 'rhs' }
        ],
  enableGridMenu: true
  }
}

//call this when payload is available
$scope.gridOptions.data = data;