2016-01-07 1 views
0

Я новичок в AngularJS ui-grid и впервые пользователь функции экспортера. Я пытаюсь добавить меню экспорта в существующую ui-сетку, работающую в приложении groovy/grails. Я использую этот пример в качестве руководства: http://ui-grid.info/docs/#/tutorial/206_exporting_dataAngularJS меню экспорта ui-grid отсутствуют кнопки экспорта

Я добавил необходимые JavaScript файлы утилиты csv.js, pdfMake.js, vfs_fonts.js. Я добавил параметры экспортера gridOptions по примеру. Я попытался явно устанавливая gridOptions

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

Но когда это делает меню сетки, кнопки Экспорт все недостающие, только кнопки выбора столбца видимы. Я могу видеть через FireBug, что файлы javascript утилиты были загружены, и не было сообщений об ошибках.

Что мне не хватает, что приведет к тому, что кнопки «Экспорт» не будут сгенерированы в меню?

Пример doc утверждает: «Обратите внимание, что опция экспорта выбранных данных видна только в том случае, если у вас выбраны данные». Однако в моем случае кнопки экспорта не отображаются независимо от выбранных данных.

Я использую щ-сетку 3.0.0-rc.20

ответ

0

решена Проблема была вызвана избыточным определением модуля Angularjs.

После того как я прочитал следующее

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

Angular ui-grid external export buttons

Я попытался явно определить свою собственную кнопку Экспорт в меню, и получил «неизвестная ошибка поставщика», то я наткнулся следующее:

https://docs.angularjs.org/error/ $ форсунка/unpr

И то есть когда я понял, что у меня случайно переопределил мой модуль и оставил «ui.grid.exporter» в одном из определений, так как я использовал несколько файлов AngularJS в приложении. Как только я удалил дополнительное определение модуля, появились кнопки «Экспорт»!

0

Это связано с порядком загрузки параметров и данных. Загрузите параметры сетки перед загрузкой данных.

//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;

 Смежные вопросы

  • Нет связанных вопросов^_^