2017-03-28 6 views
0

동일한 행의 다른 셀의 내용을 기반으로 cellEditableCondition을 설정하려고합니다.UI 그리드에서 celleditablecondition 내부에 row.entity를 전달하는 방법은 무엇입니까?

그 이유는 어떻게 cellEditableCondition에 row.entity를 전달합니까?

정의 된 oncellEditableCondition 기능에 대한 인수로 행을 전달하려고 시도했지만 행 개체에 엔티티 속성이 없습니다.

는 뭔가 아래와 같이합니다 :

columnDefs: [{ 
    name: 'column1', 
    field: 'name', 
    cellEditableCondition: function(row) { 
    return row.entity.lastname === 'Adams' 
    } 

}, { 
    name: 'column2', 
    field: 'lastname' 
}] 

답변

1

당신의 코드를이 작은 팅겨 그것을 수행해야합니다

var app = angular.module('app', ['ui.grid', 'ui.grid.edit']); 
 
app.controller('MainCtrl', ['$scope', function($scope) { 
 
    $scope.gridOptions = { 
 
    columnDefs: [{ 
 
     name: 'column1', 
 
     field: 'name', 
 
     cellEditableCondition: function(scope) { 
 
     return scope.row.entity.lastname === 'Adams' 
 
     } 
 
    }, { 
 
     name: 'column2', 
 
     field: 'lastname' 
 
    }], 
 
    data: [{name: "Tim", lastname: "Harker"}, 
 
      {name: "Akash", lastname: "Adams"}] 
 
    } 
 
}]);
div[ui-grid] { 
 
    height: 130px; 
 
}
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.min.js"></script> 
 
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-grid/4.0.2/ui-grid.min.js"></script> 
 
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/angular-ui-grid/4.0.2/ui-grid.min.css" /> 
 
<div ng-app="app" ng-controller="MainCtrl"> 
 
    <div ui-grid="gridOptions" ui-grid-edit> 
 
    </div> 
 
</div>

당신은 다른 질문이 있으면 알려주세요. 필요한 경우 더 행복하게 도와주세요.

+0

이것은 잘 작동합니다 .. !!! Tim 감사합니다. – Akash182