1

データのフラグに基づいて行を編集可能/編集不可に設定しようとしています。angular 1.5コンポーネントの外側でこれを機能させることができますが、コンポーネントのコントローラー内のrow.entityにアクセスできないようです。

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 にアクセスするにはどうすればよいですか? コントローラー内に独立したスコープがあります (コンポーネントの一部であるため)

プランカーはこちら: https://plnkr.co/edit/Wz7gKs

ありがとう

4

1 に答える 1