3

AngularJS プロジェクトでは、スマート テーブル モジュールと asafdav/ng-csv を使用して、スマート テーブルから CSV にデータをエクスポートしています。

スマート テーブルから csv にデータを正常にエクスポートしましたが、最初のページからのみです。変数からデータをエクスポートし$scope.displayedCollectionます (st-table ディレクティブと同じ)。この変数には、テーブルとまったく同じデータがありますが、最初のページからのみです。データ全体をエクスポートする方法を知っていますか (スマート テーブルからの並べ替えとフィルタリングを使用)。データをページに分割する前に、スマートテーブルモジュールに「プラグイン」する必要があると思います。しかし、どのように?

4

2 に答える 2

2

ページネーションの前に、テーブルからデータにアクセスするための独自のディレクティブを作成しました。

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>

これからコントローラーで$scope.filteredCollection変数を使用できます。

于 2015-09-01T07:49:09.377 に答える