如何在apex5中使用复选框,并在选中时更新表

时间:2017-03-16 15:28:52

标签: oracle-apex-5

我是apex的新手,并且有一个区域(互动报告),其中包含学生详细信息其中一个字段是date_of_entry我想为此字段添加一个复选框,以及用户检查时。然后使用当前sysdate在表中自动更新特定行。 如何做到添加wz示例请

1 个答案:

答案 0 :(得分:0)

交互式报告在版本<中不可编辑5.1。因此,您需要使用APEX_ITEM函数添加可编辑列,以在每一行上显示复选框项。

SELECT A.COURSE_ID,
  A.COURSE_NAME,
  B.PAYMENT_DATE,
  B.RECEIVEDBY_EMPL,
  APEX_ITEM.CHECKBOX2(1,A.COURSE_ID) "Select"
FROM COURSE_INFO A,
  PAYMENT_INFO B
WHERE A.COURSE_ID = B.COURSE_ID
AND A.STUDENT_ID  = :P2_ID;

Link了解有关此功能的更多信息。

现在处理部分,所有APEX项目都会在表单提交时发布,无论用户是否已经检查过。循环遍历所有项目并更新值,其中value不为null。

DECLARE
  L_COURSE_ID WWV_FLOW_GLOBAL.VC_ARR2;
BEGIN
  L_COURSE_ID := APEX_APPLICATION.G_F01;
  FOR IDX IN 1 .. L_COURSE_ID.COUNT
  LOOP
    IF L_COURSE_ID(IDX) IS NOT NULL THEN
      UPDATE PAYMENT_INFO
      SET PAYMENT_DATE=SYSDATE
      WHERE COURSE_ID =L_COURSE_ID(IDX)
      AND STUDENT_ID  =:P2_ID;
    END IF;
  END LOOP;
END;