Angular6 当我在另一个单元格中选择一个值时,如何更改单元格的值
我目前在angular 6下的应用中使用ag网格,我的问题是: 我有一行有3列,Angular6 当我在另一个单元格中选择一个值时,如何更改单元格的值,angular6,ag-grid-angular,Angular6,Ag Grid Angular,我目前在angular 6下的应用中使用ag网格,我的问题是: 我有一行有3列,|a | B | C | A是带有一些名称的select 当我在a行中选择一个值时,我希望B和C(同一行)根据a的日期更改它们的值 A={id:number,aStart:Date,aEnd:Date} 我试着用startEditingCell和其他方法,但是没有人能用 哪种方法是正确的 export interface Delivery { id: number; deliveryCode: str
|a | B | C |
A
是带有一些名称的select
当我在a
行中选择一个值时,我希望B
和C
(同一行)根据a
的日期更改它们的值
A={id:number,aStart:Date,aEnd:Date}
我试着用startEditingCell和其他方法,但是没有人能用
哪种方法是正确的
export interface Delivery {
id: number;
deliveryCode: string;
startPeriodDate: Date;
endPeriodDate: Date;
description: string;
inactive: boolean;
}
export class lineColumn {
deliveryid: number
startDate: Date
endDate: Date
}
最后:
onCellValueChanged:(参数)=>{
const-api:agGrid.GridApi=params.api;
const delivery=this.masterdata.deliveries.find((d:delivery)=>d.deliveryId==params.newValue);
api.getRowNode(params.node.rowIndex).setDataValue('shippingStartDate',delivery.startPeriodDate);
api.getRowNode(params.node.rowIndex).setDataValue('shippingEndDate',delivery.endPeriodDate);
api.refreshCells();
}
},
请提供一些代码。我们需要了解这些值是如何选择的,哪些代码试图更改这些值,以及在工作时会发生什么。给我们一些可以使用的东西,以便我们可以帮助您调试/提出解决方案我已经完成了!:)
const columns = {
headerName: 'Delivery',
colId: 'delivery',
field: 'id',
editable: this.isGridEditableOnCondition,
cellEditor: 'agRichSelectCellEditor',
cellRenderer: this.deliveryFormatter.bind(this),
cellEditorParams: (params) => {
return {
values: this.deliveries.map((delivery) => delivery.id),
formatValue: this.deliveryFormatter.bind(this),
displayPropertyName: 'deliveryCode',
valuePropertyName: 'deliveryCode',
displayFormat: 'deliveryCode',
};
},
onCellValueChanged: (params) => {
// when this value changes, the other 2 columns must change with the values of dates that delivery has (but can be still editables)
params.api.refreshCells();
},
},
{
headerName: 'Shipping Start Date',
colId: 'shippingStartDate',
field: startDate,
editable: this.isGridEditable,
valueFormatter: this.uiService.dateFormatter,
cellEditor: 'atrDate',
},
{
headerName: 'Shipping End Date',
colId: 'shippingEndDate',
field: endDate,
editable: this.isGridEditable,
valueFormatter: this.uiService.dateFormatter,
cellEditor: 'atrDate',
},