我有来自用户的条目,他们输入了
的值结果、平均值和标准差
在我这边,我需要计算 SDI 值,并且我创建了动态操作来计算 SDI
这是代码:
var mean = ($v("C_MEAN") != "")?parseFloat($v("C_MEAN")):0;
var sd = ($v("C_SD") != "")?parseFloat($v("C_SD")):0;
var result = ($v("C_RESULT") != "")?parseFloat($v("C_RESULT")):0;
var sdi = 0;
if(!isNaN(mean) && !isNaN(sd) && !isNaN(result) )
{
sdi = (result - mean) / sd;
}
$s("C_SDI",sdi);
当我选择数据时,它显示所有带有结果、平均值和 SD 的行 喜欢这个图片:
我可以运行java脚本代码来自动计算所有行的SDI列值吗 当网格选择数据时?
更新:
这是我在 SQL 中执行的 SQL 查询,但是当我保存它时显示错误
ORA-01733: virtual column not allowed here
select id_no,
TESTID,
UNITID ,
result,
MEAN,
SD,
(result-mean)/sd as "SDI",
LOW_LIMIT,
HIGH_LIMIT,
PERF_ID
FROM HAJJ_QC_RESULTS
where sample_id = :P13_SAMPLE
and program_id = :P13_PROGRAM
and machine_id = :P13_MACHINE
and hospital_no = :P13_HOSPITAL
and approved_date = :P13_FROMDATE
我找到了解决办法 复制我创建的页面按钮的列数据,然后创建动态操作 并执行以下java脚本代码:
var widget = apex.region('validate').widget();
var grid = widget.interactiveGrid('getViews','grid');
var model = grid.model;
model.forEach(function (r) {
model.setValue(r , "SDI" , model.getValue(r ,"SDIT"));
})
通过使用此代码,我将在该循环中创建一个循环,我将设置 SDI 列的值并从 SDIT 列获取它,然后单击按钮时,它将把列数据从 SDIT 复制到 SDI 列