Angular - ag-grid update 'rowdata'



我有以下网格的角度:

日历的例子

如果我编辑红色框中的日期,它应该会影响绿色框中的所有值。我不知道怎么做最好,你能给点建议吗?

我最初的想法是在编辑上触发一个函数,该函数从我更改的项中获取单元格引用,并在rowdata数组和相应的项中更新此引用。有效地刷新所有的数据在"行数据"使用的网格?

感谢

默认情况下,单元格之间没有数据关系,您必须自己创建。

作为一个例子-在您的数据存储中,您将有startend日期,其他值-将基于它创建。

你可以通过ValuesSetter和ValueGetter来实现

总列-基于其他单元格值创建-通过附加函数

在你的例子中应该是:

colDef: [
{ field: 'startDate'},
{ field: 'endDate'},
{
headerName: 'Days',
valueGetter: (params:any) => getDiffValueGetter(params),
},
{
headerName: 'Weeks',
valueGetter: (params:any) => getDiffValueGetter(params, true),
},
]
const oneDayTime = 1000 * 60 * 60 * 24
const oneWeekTime = oneDayTime * 7;
getDiffValueGetter(params: any, isWeekDiff: boolean): number {
const startDate = new Date(params.getValue('startDate')); //like value "06/30/2019";
const endDate = new Date(params.getValue('endDate')); // "06/30/2020";
//don't forget to get a Date object from value
//so will show just an example of how could it be
// To calculate the time difference of two dates
const timeDiff = endDate.getTime() - startDate.getTime();
// To calculate the no. of days/weeks between two dates
return return parseInt(timeDiff / (isWeekDiff ? oneWeekTime : oneDayTime));
}

演示工作

注:它将与数据更新一起工作-一旦数据更新-ValueGetter将被触发并根据需要更新数据。

相关内容

  • 没有找到相关文章

最新更新