Angular UI Grid,通过模板向行单元格添加按钮

时间:2015-02-26 22:10:11

标签: angularjs angular-ui-grid

我得到了以下gridOptions.columnDefs

 $scope.generateReport = function(row) {
     alert("Test");
 };

 $scope.gridOptions.columnDefs = [
     { name: 'Action', 
       cellEditableCondition: false, 
       cellTemplate: '<button ng-click="grid.appScope.generateReport(row)"> 
                       Report 
                      </button>' 
     }];

它不工作,按钮显示但是一旦点击它没有调用该功能。我正在关注他们的导游Here,并且我正在使用ui-grid - v3.0.0-RC.18

我的html获得了以下内容。

        <div id="grid1"
             ui-grid="gridOptions"
             ui-grid-cellnav
             ui-grid-edit
             ui-grid-expandable
             ui-grid-exporter
             class="myGrid">
        </div>

我还尝试添加external-scope,但没有什么区别..

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

我点击ui-grid行中的按钮就像这样。

ng-click="getExternalScopes().delete($event, row)

我的控制器注入了$ scope,第一行创建了对外部作用域的引用(我相信)。

app.controller("MyController", function ($scope) {
$scope.$scope = $scope;

HTML看起来像这样,它指的是外部范围。

<div ui-grid="gridOptions" class="someClass" external-scopes="$scope" ui-grid-selection ui-grid-resize-columns></div>

如果它有帮助,这是我的整个cellTemplate ......

<div class="ui-grid-cell-contents ng-binding ng-scope"><button class="btn btn-danger {{getExternalScopes().deleteButtonClass(row)}} btn-xs btn-block" ng-click="getExternalScopes().delete($event, row)"><span class="glyphicon glyphicon-trash"></span></button></div>