2017-03-28 4 views
0

同じ行の他のセルの内容に基づいてcellEditableConditionを設定しようとしています。UIグリッド内のcelleditablecondition内でrow.entityを渡す方法は?

どうすればrow.entityをcellEditableConditionに渡すのですか?

定義された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

関連する問題