条件に基づいてag-grid(例:2/5)の一部の行のみを有効にしたい。
editable:falseは、私が知らないメソッドがある場合を除いて、リスト全体に適用されるため、役に立ちません
助けてください
function
をeditable
のcolumnDef
プロパティにバインドするだけで、edit
を試行するたびに実行されます
_editable: this.checkEditFunction.bind(this)
...
checkEditFunction(params){
//params.node - for row identity
//params.column - for column identity
return !params.node.isRowPinned() // - just as sample
}
_
.bind(this)
-外部関数へのアクセスのため
gridApi
のstopEditing()
メソッドを呼び出すには、条件をチェックした後、_editable: true
_を維持します。
行を編集しているとします。
_(rowEditingStarted)="onRowEditingStarted($event)"
_
次に、コンポーネントで、以下のようにチェックに基づいて編集を停止できます。
_private onRowEditingStarted($event) {
if(!$event.data.propertyToCheck == <someCondition>) {
this.gridApi.stopEditing();
}
_
更新:
編集イベントのテンプレートを更新する必要があります。
_<ag-grid-angular #agGrid
....
(rowEditingStarted)="onRowEditingStarted($event)"
....
></ag-grid-angular>
</div>
_
この例を参考にしてください: https://www.ag-grid.com/javascript-grid-cell-editing/#example-cell-editing