Надеюсь, у вас всех хороший день.
Я хочу обновить значение ячейки, основываясь на элементе, выбранном из выпадающего меню с помощью «View Refresh»:
ag-grid Просмотр обновленной документации
КОНТЕКСТ:
Это определение столбца в app.component.ts:
{
headerName: 'Sites sur lesquelles les activités sont déployées ',
field: 'descriptionAct',
headerTooltip:
'Cochez les sites ou est réalisée l\'activité en question. La liste des sites dépend de ce qui a été renseigné à la question I)a. (en haut)',
editable: true,
width: 300,
// checkboxSelection:true
cellRenderer: params => {
return (
`
<input type='checkbox'/>` +
this.siteName1 +
`</input>
<input type='checkbox'/>` +
this.siteName1 +
`</input>
`
);
}
},
Это определение раскрывающегося меню в app.component.html:
<select class="form-control" id="CityFormControlOne" (change)="UpdateSites($event.target.value);
RefreshSitesColumn();">
<option>France - Paris (Majunga)</option>
<option>France - Paris (Opus)</option>
Это определение методов, которое я использовал с прослушивателем onChange:
public UpdateSites(siteName) {
console.log('SITE NAME IS SHADY' + siteName);
this.siteName1 = siteName;
}
public RefreshSitesColumn() {
let params = { force: true };
this.gridApi.refreshCells(params);
//setTimeout(
//this.gridApi.refreshCells({ columns: ['Sites sur lesquelles les activités sont déployées'] }), 2000);
}
Это выпадающее меню:
Это столбец (определенный в app.component.ts), который я хотел бы обновить после того, как пользователь выберет город в раскрывающемся меню:
Поэтому вместо неопределенных флажков фактические названия городов будут отображаться после того, как пользователь выберет их. Довольно просто, правда?
Итак, мои вопросы:
1 / Почему клетка не обновляется?
2 / Можно ли сделать это без использования только метода refresh вместо пользовательского средства визуализации ячеек?
3 / Если да, то как?
4 / Стоит ли использовать пользовательский рендерер ячеек вместо простого метода обновления?
5 / Если я пишу плохой код / не следую передовым методам, вы бы указали на это :)
Спасибо всем!