2017-01-31 6 views
0

UI Gridモジュールを使用してAngularJSプロジェクトで作業しています。私はオプションとして利用できる行フィルタリングを持っていると思いますが、ユーザーのない多くは、それを必要と私は無効になってフィルタリングオプションを指定して起動し、必要に応じてそれを有効にする]ボタンを持ちたいので、フィルターボックスは多くのスペースを取ります。だからenableFiltering: falseを設定し、$scope.gridOptions.enableFiltering = !$scope.gridOptions.enableFiltering;を実行するボタンに追加しましたが、クリックすると何もしないように見えました。いくつかのより多くのテストの後、私は私がenableFiltering: trueで開始した場合、まだボタンをクリックすると、すぐに何もしないだろうことがわかったが、私はそれをクリックして、フィルタボックスのいずれかを入力しようとした場合、彼らはすぐに私が始めて消えてしまいます入力(ただし、ボタンを再度クリックしても表示されません)。グリッドオプションの変更後にUIグリッドが直ちに更新されない

どのように私はこれを正しく動作させるための任意のアイデアですか?私は既に$ scope()を試しましたが、それは私に "エラー:[$ rootScope:inprog] $がすでに適用されています。"ここPlunker:ここhttp://plnkr.co/edit/L5bgA4XukmYJaVQHVkgR

答えて

0

あなたは私が推測する欲しいものです:UI-グリップのウェブサイトから、この例に触発さhttp://plnkr.co/edit/Qyts0zQrltx4QxlOWgob?p=preview

:uiGridConstant

  • 追加gridApi注入http://ui-grid.info/docs/#/tutorial/103_filtering

    angular.module('app',['ui.grid']).controller('Ctrl', ['$scope', 'uiGridConstants', function($scope, uiGridConstants){ 
        $scope.toggle = function(){ 
        $scope.gridOptions.enableFiltering = !$scope.gridOptions.enableFiltering; 
        $scope.gridApi.core.notifyDataChange(uiGridConstants.dataChange.COLUMN); 
        } 
        $scope.gridOptions = { 
        data: [{name:'Bob',age:20},{name:'Joe',age:21}], 
        enableFiltering: true, 
        onRegisterApi: function(gridApi){ 
         $scope.gridApi = gridApi; 
        }, 
        } 
    }]); 
    
    1. 通知するためのデータがui-gridに変更されます
    2. データのクリックでgridApiを使用する
  • +0

    ありがとうございました! notifyDataChangeは私が忘れていたもので、それを加えて今は完全に機能しています。 –

    関連する問題