Я использую Ag-grid в своем приложении Angular, и данные в сетке заполняются из веб-службы.Я реализовал редактирование ячеек в этой сетке, поэтому, когда я щелкаю по одному из столбцов, вся строка будет редактируемой, а когда я щелкаю вне сетки, редактирование прекращается.Ниже приведен код в html и файле компонента:
<ag-grid-angular #agGrid style="width: 100%; height: 600px;" class="ag-theme-balham left" [rowData]="rowData" [columnDefs]="columnDefs"
[gridOptions]="gridOptions" rowSelection="multiple" pagination=true (rowSelected)="onRowSelected($event)">
</ag-grid-angular>
файл component.ts:
this.gridOptions = {
defaultColDef: {
editable: (event: any) => {
if (this.isGridDataEditable) {
return true;
} else {
return false; // true/false based on params (or some other criteria) value
}
},
filter: true
},
singleClickEdit: true,
stopEditingWhenGridLosesFocus: true,
paginationPageSize: 20,
editType: 'fullRow',
onCellValueChanged: (event: any) => {
},
onRowValueChanged: (event: any) => {
},
onRowEditingStopped: (event: any) => {
}
};
}
Определения столбцов генерируются динамически на основе ответа от веб-API.Когда редактирование останавливается, если данные изменяются, тогда мне нужно позвонить в web api для обновления данных, все это работает как положено. Но я хотел бы добавить кнопку сохранения и отмены чуть выше сетки и когда пользовательнажмите «Сохранить только», затем вызовите веб-интерфейс API, нажмите кнопку «Отмена», чтобы вернуть данные сетки к старым значениям.Я наткнулся на api stopEditing (true), но он не работал.Не могли бы вы, пожалуйста, дайте мне знать, как я мог достичь этой функциональности.