如何使用ag-grid直接在HTML中获取所选行的值

时间:2016-07-19 12:48:04

标签: angularjs ag-grid

我尝试获取所选数字行的值,并使用Angularjs以HTML格式打印,但没有问题, 我只有当我在网格列标题中clic时才有计数。 "的价值selectedRowsCounter"在html中为0,当我在网格标题中显示clic时

我的代码就像

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,
}

有截图

enter image description here

我在这里开了相同的主题 https://github.com/ceolter/ag-grid/issues/1023

2 个答案:

答案 0 :(得分:0)

我已将此行添加到activeButtons函数并且工作正常

$scope.gridOptions.api.refreshView();

我不知道是否有一个好的解决方案,但现在的工作

答案 1 :(得分:0)

问题似乎是Angular不知道$ scope属性更改,因为ag-grid不告诉Angular它已经修改了$ scope中的内容。虽然很难判断你是否表达了你的观点。

您可以按照onSelectionChanged的方式使用它来了解已选择的行数,但您需要通过应用它来告诉Angular其$ scope中的某些内容发生了变化。

这样的事情:

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();
    });
};

这样你可以应用$ scope,而html视图将反映这些变化。