2016-07-19 23 views
0

選択した数値行の値を取得し、Angularjsを使用してHTMLで印刷しようとしましたが、問題はありません iグリッド列見出しのclic。 "selectedRowsCounter" の値は、iが選択した行の値をag-gridを使用してHTMLで直接取得する方法

私のコードは、スクリーンショット

enter image description here

がある

var activeButtons = function() { 
     var countRowsSelected = $scope.gridOptions.api.getSelectedRows().length; 
    $scope.selectedRowsCounter = countRowsSelected; 
    console.log($scope.selectedRowsCounter); 
    $rootScope.count.selectedRows = countRowsSelected; 
}; 

$scope.gridOptions = { 
    rowData: null, 
    angularCompileRows: true, 
    onSelectionChanged: activeButtons, 
} 

似ているグリッドヘッダにclicクリックdosn't場合、HTMLで0であります私はここに同じ科目を開いています https://github.com/ceolter/ag-grid/issues/1023

答えて

0

私はこの行をactivに追加しましたeButtons機能と、それは良い解決策があれば、私は、知っていけない

$scope.gridOptions.api.refreshView(); 

正常に動作しますが、今

0

問題のためにその仕事は角度がAG-ため$スコーププロパティの変更を知らないことであると思われますグリッドはAngularに$スコープで何かを修正したことを通知しません。あなたがあなたの意見を示さないかどうかは分かりませんが。

onSelectionChangedを使用すると、選択された行の数を知ることができますが、$範囲内で何かが変更されたことをAngularに伝える必要があります。

このような何か:

var activeButtons = function() { 
    var countRowsSelected = $scope.gridOptions.api.getSelectedRows().length; 
    $scope.selectedRowsCounter = countRowsSelected; 
    console.log($scope.selectedRowsCounter); 
    $rootScope.count.selectedRows = countRowsSelected; 
    window.setTimeout(function() { 
     this.$scope.$apply(); 
    }); 
}; 

あなたは$スコープとHTMLビューには変更が反映されます適用することができますこの方法。

+0

あなたの答えをありがとう、 - evry変更のタイムアウトは非常に遅い私のコードを作った! –

+0

あなたは0に設定することができます。すぐには実行されませんが、次のティックで実行されます。それは物事を目立つように遅らせるべきではありません。 'setTimeout(function(){$ scope。$ apply();}); – iberodev

+0

あなたのメソッドとag-gridのrefreshVewメソッドの間で最も良いことは何ですか、ありがとう –

関連する問題