如何在Angular ui-grid中取消单元格编辑?

时间:2018-01-30 08:21:34

标签: angularjs angular-ui-grid ui-grid

我在beginCellEdit事件中有一些条件

       gridApi.edit.on.beginCellEdit($scope, function(rowEntity, colDef, event) {
            var scope = angular.element(event.currentTarget).scope();
            var selectedRowIndex = scope.rowRenderIndex;
            var selectedColumnName = scope.col.name;

            if ($scope.gridOptions.data[selectedRowIndex-1][selectedColumnName].trim()=='') {      
                alert("You cannot enter the value in this cell");
                // At this place I want to cancel edit and return focus to grid
            } 
        })

是否有任何preventDefault或类似方法,因此可以轻松取消单元格编辑并将焦点返回到网格。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以查看此plunker示例以获得条件可编辑字段。

<强>控制器:

ksh88

Gridoptions - &gt; columnDefs:

PATH

答案 1 :(得分:1)

另一种方法是广播IUiGridEditContants.events.END_CELL_EDIT事件,如下所示:

scope.$broadcast("uiGridEventEndCellEdit");

唯一的缺点是它会关闭所有处于编辑模式的单元格。

仅供参考:以下内容对我不起作用:

 gridApi.rowEdit.setRowsClean([gridRow.entity]);