데이터의 플래그를 기반으로 편집 가능/편집 불가능 행을 설정하려고합니다. 이 기능은 1.5 각형 구성 요소 외부에서 작동하지만 구성 요소의 컨트롤러 내부에서 row.entity에 액세스 할 수 없습니다.각도 1.5 구성 요소 내부의 ui-grid에서 editableCellCondition을 설정합니다.
function memberDisplayCtrl ($scope, memberFactory,uiGridConstants) {
var ctrl = this;
ctrl.people = memberFactory.getMembers();
ctrl.checkStatus = function(ctrl){
// How do I do something like this:
// if (ctrl.row.entity.Status === 'Y') { return 'true'; } else {return 'false';}
};
ctrl.gridOptions = {
enableSorting: true,
enableCellEdit:false,
cellEditableCondition: ctrl.checkStatus(ctrl),
enableHorizontalScrollbar : 0,
enableVerticalScrollbar : 0,
enableColumnMenus: false,
minRowsToShow: ctrl.people.length,
columnDefs: [
{ displayName:'First Name', name: 'fname', enableCellEdit:true },
{ displayName:'Last Name', name: 'lname', enableCellEdit:true },
{ displayName:'Date of Birth', name: 'DOB', type:'date', enableCellEdit:true, cellFilter: 'date:"yyyy-MM-dd"'},
{ displayName:'Address', name: 'address', enableCellEdit:true},
{ displayName:'Status',name: 'Status', enableCellEdit: true}
],
data : ctrl.people
};
}
나는 범위 문제가 있지만 그 사실을 알 수없는 것 같습니다. row.entity에 어떻게 액세스합니까?
plunker 여기에 (이 구성 요소의 일부이기 때문에) 나는 내 컨트롤러 내부에 고립 범위가 : https://plnkr.co/edit/Wz7gKs
감사
. 고맙습니다! – MRenard