Javascript 计算制表器行操作中的日期时间差
我有一个场景,我想计算两行之间的时间差(以分钟为单位),并将数据放在连续的行中。我正在使用。 目前,我已经讨论了列的定义,但我不确定如何在行上实现这种场景。然而,我尝试了下面的选项,它似乎不起作用Javascript 计算制表器行操作中的日期时间差,javascript,html,tabulator,tabulator-py,Javascript,Html,Tabulator,Tabulator Py,我有一个场景,我想计算两行之间的时间差(以分钟为单位),并将数据放在连续的行中。我正在使用。 目前,我已经讨论了列的定义,但我不确定如何在行上实现这种场景。然而,我尝试了下面的选项,它似乎不起作用 var table = new Tabulator("#editor", { downloadConfig:{ columnGroups:false, rowGroups:false, },
var table = new Tabulator("#editor", {
downloadConfig:{
columnGroups:false,
rowGroups:false,
},
height:360,
data: arrayFlight,
pagination:"local",
resizableColumns: false,
paginationSize:12,
columnVertAlign:"center",
columnHoriAlign:"center",
columns:[
{title:"Start time", field:"sTime", align:"center", formatter:"datetime", formatterParams:{inputFormat:"DD-MM-YYYY hh:mm:ss", outputFormat:"DD-MM-YYYY hh:mm:ss", invalidPlaceholder:"-"}, sorter:false, headerSort:false, width:95},
{title:"End time", field:"eTime", align:"center", formatter:"datetime", formatterParams:{inputFormat:"DD-MM-YYYY hh:mm:ss", outputFormat:"DD-MM-YY hh:mm:ss", invalidPlaceholder:"-"}, sorter:false, headerSort:false, width:95},
{title:"Duration", field:"durTime", align:"center", calc: sTime-eTime, sorter:false, headerSort:false, width:95},
],
},
],
以下是我如何想象这一点:
非常感谢您的帮助。正如@Adrian Klaver所说,正确的方法是使用a来计算新列的值 而且正如@adrian已经指出的,你所犯的错误与他的提议无关 基本上,首先创建一个mutator函数,该函数将接收行数据,然后根据该行数据返回该列的新值
var durationMutator=函数(值、数据){
//值-单元格的原始值
//数据-行的数据
var开始=新日期(data.sTime);
var end=新日期(data.eTime);
返回结束-开始;
}
然后,您可以将其分配给mutator属性上的持续时间列:
{title:"Duration", field:"durTime", mutator:durationMutator},
这就是你需要做的一切。看。@AdriankAver我看了一下,但不太明白,你能不能帮我详细说明一下它将如何处理行操作。看看这个@AdriankAver这里,
Diff
字段的值在编辑后不会改变,当我在加载数据后编辑字段开始时间
和完成时间
中的值时。@olifolkerd当我编辑单元格时,数据会随着上述实现而动态变化吗?好的,不会,因为变异器只在durTime
字段上工作。正如我在第二部分中所展示的,您需要在您编辑的字段上放置mutatorEdit
。@adriankaver好的,那么if(type==“edit”){console.log('edit');component.getRow().getCell(“timeDiff”).setValue(new_value);return value;//返回单元格数据的新值。}else{return new_value}}
因为这里我得到的错误是Uncaught(in promise)ReferenceError:type未定义
没有上下文的代码片段没有用处。您需要在中显示您正在使用的整个代码部分。@adriankaver这里是定义了上下文的完整代码[link]。每当我使用您为type==edit
提供的fiddle代码时,它会说error类型未定义
。你能帮忙吗