2015-04-07 143 views
0

當某人開始編輯它時,我需要獲取某一行的原始值。UI Grid:在保存編輯之前獲取行的值

猜測http://ui-grid.info/docs/#/api/ui.grid.edit.service:uiGridEditService的beginEditCell方法正是這樣做的。但我不知道如何實現它。

這是我在保存行時調用函數的方法。

$scope.users.onRegisterApi = function(gridApi){ 

    // Set gridApi on scope 
    $scope.gridApi = gridApi; 

    // Call $scope.saveRow after finishing editing row 
    gridApi.rowEdit.on.saveRow($scope, $scope.saveRow); 
}; 

所以我假設.beginEditCell()需要在.saveRow之前調用,但我沒有得到如何。

+0

ui-grid不是ng-grid。你需要哪個網格的答案? – mainguy

+0

用戶界面網格。對不起,愚蠢的錯誤,編輯我的問題。感謝您指出了這一點。 – user3255061

回答

2

那麼你應該這樣做:

gridApi.edit.on.beginCellEdit($scope, function(rowEntity, colDef) { 
    //This alert just shows which info about the edit is available 
    alert('Column: ' + colDef.name + ' ID: ' + rowEntity.id + ' Name: ' + rowEntity.name + ' Age: ' + rowEntity.age) 
}); 

警報就在那裏向你展示如何從該行或columnDefs值。

由於警報會將焦點從輸入中移除,因此應將其移除。

這裏也是一個Plunker

請參閱本有關afterCellEdit事件的更詳細的answer

希望這會有所幫助。

+0

它是如何幫助...非常感謝! – user3255061