angularjs - 从 AngularJS 中的智能表导出数据

标签 angularjs csv smart-table

在 AngularJS 项目中,我使用智能表模块和 asafdav/ng-csv 将数据从智能表导出到 CSV。

我成功地将数据从智能表导出到 csv,但只能从第一页导出。我从 $scope.displayedCollection 变量导出数据(与 st-table 指令中的相同)。此变量中的数据与表中的数据完全相同,但仅来自第一页。您知道如何导出整个数据(通过智能表进行排序和过滤)。我认为我应该在将数据拆分到页面之前“插入”到智能表模块。但是如何呢?

最佳答案

我创建了自己的指令以在分页之前访问表中的数据:

angular.module('smart-table')
.directive('stFilteredCollection', function () {
    return {
      restrict: 'A',
      require: '^stTable',
      scope: {
        stFilteredCollection: '='
      },
      controller: 'stTableController',
      link: function (scope, element, attr, ctrl) {

        scope.$watch(function () {
          return ctrl.getFilteredCollection();
        }, function (newValue, oldValue) {
          scope.stFilteredCollection = ctrl.getFilteredCollection();
        });
      }
    };
  });

要使用它,请添加 st-filtered-collection 属性和变量名,该变量将在分页前设置为表中的数据:

<table st-table="..." st-safe-src="..." st-filtered-collection="filteredCollection">
   ...
</table>

从现在开始,您可以在 Controller 中使用 $scope.filteredCollection 变量。

关于angularjs - 从 AngularJS 中的智能表导出数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32175813/

相关文章:

javascript - ng-options 不填充选择选项下拉

javascript - 智能表 : set page programmatically

javascript - Smart-Table - 预选特定行

html - 使按钮变窄而不是让它水平填满整个屏幕

javascript - 重定向后将片段附加到 Django URL?

javascript - 如何使用 d3.csv() 检查 CSV 中值的类型?

PHP 网页 - 在插入数据库之前预览 CSV 上传

c# - 在不使用逗号字符的情况下在 CSV 中显示逗号

javascript - 如何在智能表格中按较小的数字到较大的数字排序?

javascript - 为 ng-repeat 加载大量元素