settings = {
actions: {
add: true,
edit: false,
delete: false
},
add: {
addButtonContent: '<i class="nb-plus"></i>',
createButtonContent: '<i class="nb-checkmark"></i>',
cancelButtonContent: '<i class="nb-close"></i>',
confirmCreate: true
},
columns: {
company: {
title: 'Company',
type: 'html',
valuePrepareFunction: (data) => { return '<div align="center"><img src=' + data.logo + ' alt="' + data.id + '"></img></div>'; },
width: '10%',
editable: false,
filter: false,
editor: {
type: 'custom',
component: CustomListEditorComponent,
config: {
list: [{id: 1, name: 'Company 1', logo: 'assets/pictures/logo1'}, {id: 2, name: 'Company 2', logo: 'assets/pictures/logo2'}]
}
}
},
firstName: {
title: 'First Name',
type: 'string',
editor: {
type: 'text',
}
},
lastName: {
title: 'Last Name',
type: 'string',
editor: {
type: 'text'
}
}
},
pager: {
display: true,
perPage: 50
}
};
onCreateConfirm(event): void {
if (!event.newData.firstName || !event.newData.lastName || !event.newData.company) {
this.toastrService.danger('Missing mandatory fields', 'Error');
} else {
let newEmployee = {
name: event.newData.firstName,
surname: event.newData.lastName,
commonname: event.newData.company
};
this.createEmployee(newEmployee);//API call to create employee in DB
this.refreshTable();//API call to refresh table
//I want to keep 'Company' editor cell selected value and clear 'firstName' and 'lastName' text input fields, so I can continue adding employees for the same company
}
}
Здравствуйте, у меня следующий вопрос: так как у меня есть defaultCreate = true и режим таблицы = встроенный по умолчанию, я выполняю создание строки с помощью метода onCreateConfirm.
Там я делаю свой API вызывает logi c для добавления информации в БД и последующего обновления источника таблицы. Что я хочу сделать дальше, когда сценарий будет успешно завершен, так это сохранить редактор вместо того, чтобы скрывать его (как вы это сделаете, если разрешите разрешить отложенный объект event.confirm в onCreateconfirm), но сбросить некоторые поля (в в этом случае происходит сброс параметров firstName и lastName при сохранении выбора, сделанного в поле компании), поэтому я могу продолжать добавлять дополнительные строки, не нажимая кнопку «Добавить», а затем снова выбирая ту же компанию.
Мой вопрос заключается в том, Находясь в методе onCreateConfirm, как я могу манипулировать данными, которые мы имеем в ячейке редактора каждого поля таблицы, чтобы я мог легко очистить ввод этих полей, которые я хочу?
Заранее спасибо