angular6 - 当我在另一个单元格中选择一个值时如何更改单元格的值
问题描述
我目前在 Angular 6 下的应用程序中使用 ag-grid,我的问题是:我有一行 3 列,| A | B | C |
A
是一个带有一些名称的选择,当我在行中选择一个值时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
}
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',
},
解决方案
最后:
onCellValueChanged: (params) => {
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();
}
},
推荐阅读
- html - Bootstrap 在 lg 上扩展,在小屏幕上设置高度失败
- spring - 如何销毁现有 bean 并用新定义 Spring 替换 - 在运行时
- c# - .NET/C# REST Api 消息队列
- azure - 通过电话与 Azure 认知服务机器人交谈
- reactjs - reducer 从哪里获取当前状态
- javascript - 为什么我没有得到包含以下代码的表格?
- python - 绘制到图像对象
- scala - 通过 map 和 flatmap 组合函数
- java - 在 Java 中有效地复制大型时间序列结果
- android - 如何在android studio中检查ImageView是否已完成加载和图像