如何自动对所有行的交互式网格列进行计算?

问题描述 投票:0回答:1

我有来自用户的条目,他们输入了

的值

结果、平均值和标准差

在我这边,我需要计算 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 的行 喜欢这个图片:

enter image description here

我可以运行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
oracle-apex
1个回答
0
投票

我找到了解决办法 复制我创建的页面按钮的列数据,然后创建动态操作 并执行以下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 列

© www.soinside.com 2019 - 2024. All rights reserved.