经观察发现,计算结果单元格加入文本控件,使用鼠标点击后再失焦(单元格左上角出现红三角即进入编辑后状态)后,填报提交的内容则无异常。
目前的解决方案为:
在需要填报的列头加一个按钮控件,按钮中设置点击JS事件。通过点击按钮,将相对层次坐标计算出的结果传递给填报单元格,再填报提交后数据则为正常。JS如下:
var location = this.options.location; //获取当前控件的位置
var cr = FR.cellStr2ColumnRow(location);//将本控件的位置类/对象?信息赋给cr
var col = cr.col; //当前控件列号
var ro = cr.row; //当前控件行号
for (var i = 1; i < 80; i++) {
//此处80为需要计算的行数,实际根据需要自行设置或使用函数带参计算,这里偷懒直接写了80
try{
var ans = contentPane.getWidgetByCell(FR.columnRow2CellStr({col: col+26, row: ro+i}));
//此处col+26, ro+i的位置即为相对层次坐标计算出结果的初始位置,可根据实际自行修改或函数带参
contentPane.setCellValue(col,ro+i,ans.getValue());
//将结果由初始位置传递给 col,ro+i 即填报列的对应位置
}
catch(err){
}
}
非前端,不太熟悉JS和对应的FR对象方法,逻辑上应该可以直接在计算答案的单元格上页面初始化后模拟点击再失焦操作以解决此问题。
本问题会再次提问悬赏,希望能有更好的解决方案