如何比较Ag Grid中同一行中的两个数据?

How to compare two data in the same row in Ag Grid?

我正在使用 Angular 和 Ag Grid。

我在 Ag Grid table 中有一个 contract_start 列和 contract_end 列(日期类型)。 我希望 contract_end 单元格的值只能在 contract_end 单元格的日期大于 contract_start 单元格的日期(在同一行)时更改。

我已经搜索了解决方案,但遗憾的是我只找到了有关按日期过滤的信息。

在 contract_end 的列定义中,您可以指定“可编辑”属性,它可以是布尔值或 returns 布尔值的函数。

您将使用功能版本。 该函数的参数是一个 EditableCallbackParams 对象,记录在 https://www.ag-grid.com/javascript-data-grid/column-properties/#reference-editing

在函数中,您可以访问行数据,并比较两列值。

例如:

editable: function(params: EditableCallbackParams): boolean {
   return params.data.contract_end.getTime() > params.data.contract_start.getTime();
   
}

请注意,这是我凭记忆输入的 - 我没有尝试编译它 - YMMV