存档&改造【04】二维码操作入口设置细节自动刷新设置后的交互式网格内容的隐藏

news2024/10/6 8:23:58

因为数据库中没有数据无法查看设置效果,于是自己创建了个测试数据表,用来给demo测试

-- 二维码操作入口设置
create table JM_QR_CODE
 (
    QR_CODE_ID          NUMBER generated as identity primary key,
    SYSTEM_ID           NUMBER(20) not null,
    IS_ENABLE           NUMBER(1),
    OPERATION_NAME      NVARCHAR2(64),
    DESCRIPTION         NVARCHAR2(255),
    ENTRY_URL           NVARCHAR2(255),
    AUTH_RANGE          NVARCHAR2(512) not null,
    CREATED_BY          NUMBER(20),
    CREATION_TIME       DATE,
    UPDATED_BY          NUMBER(20),
    UPDATED_TIME        DATE,
    TENANT_ID           NUMBER(20) not null,
    DEL_FLAG            NUMBER(1)
)
/

comment on table JM_QR_CODE is '晶码二维码操作入口设置表'
/
comment on column JM_QR_CODE.QR_CODE_ID is '主键'
/
comment on column JM_QR_CODE.SYSTEM_ID is '接入系统ID'
/
comment on column JM_QR_CODE.IS_ENABLE is '启用状态'
/
comment on column JM_QR_CODE.OPERATION_NAME is '操作项名称'
/
comment on column JM_QR_CODE.DESCRIPTION is '操作项描述'
/
comment on column JM_QR_CODE.ENTRY_URL is '操作入口地址'
/
comment on column JM_QR_CODE.AUTH_RANGE is '操作权限范围:IS_ALL-任何人'
/
comment on column JM_QR_CODE.CREATED_BY is '创建人'
/
comment on column JM_QR_CODE.CREATION_TIME is '创建时间'
/
comment on column JM_QR_CODE.UPDATED_BY is '更新人'
/

comment on column JM_QR_CODE.UPDATED_TIME is '更新时间'
/
comment on column JM_QR_CODE.TENANT_ID is '租户ID'
/
comment on column JM_QR_CODE.DEL_FLAG is '逻辑删除'
/

在demo中引入该数据表,结果

【错误记录】未定义交互式网格 '二维码操作入口设置' 的主键列, 而此列是编辑或主从关系所必需的。

报错:

未定义交互式网格 '二维码操作入口设置' 的主键列, 而此列是编辑或主从关系所必需的。

请与您的应用程序管理员联系。

技术信息(仅提供给开发人员使用)

  • is_internal_error: true
  • apex_error_code: APEXDEV.IG.NO_PK
  • component.type: APEX_APPLICATION_PAGE_REGIONS
  • component.id: 248143772048740294
  • component.name: 二维码操作入口设置
  • error_backtrace:
    ----- PL/SQL Call Stack -----
      object      line  object
      handle    number  name
    0x8828a6a8       981  package body APEX_220200.WWV_FLOW_ERROR.INTERNAL_GET_ERROR
    0x8828a6a8      1049  package body APEX_220200.WWV_FLOW_ERROR.INTERNAL_ADD_ERROR
    0x8828a6a8      1522  package body APEX_220200.WWV_FLOW_ERROR.RAISE_INTERNAL_ERROR
    0xa62db5b0      7104  package body APEX_220200.WWV_FLOW_INTERACTIVE_GRID.RENDER
    0x725d9208      2334  package body APEX_220200.WWV_FLOW_REGION_NATIVE.RENDER_REGION
    0x882538d0      2766  package body APEX_220200.WWV_FLOW_PLUGIN.RENDER_REGION
    0x729a3488      1023  package body APEX_220200.WWV_FLOW_DISP_PAGE_PLUGS.DISPLAY_REGION_BODY
    0x729a3488      1584  package body APEX_220200.WWV_FLOW_DISP_PAGE_PLUGS.RENDER_REGION
    0x72ae1338      1880  package body APEX_220200.WWV_FLOW_PAGE.RENDER_COMPONENTS
    0x72ae1338      1975  package body APEX_220200.WWV_FLOW_PAGE.RENDER_PAGE_COMPONENTS
    0x72ae1338      2960  package body APEX_220200.WWV_FLOW_PAGE.EMIT_BODY
    0x72ae1338      3209  package body APEX_220200.WWV_FLOW_PAGE.RENDER
    0x8a3b2088      3308  package body APEX_220200.WWV_FLOW.SHOW
    0x8a3b2088      5393  package body APEX_220200.WWV_FLOW.RESOLVE_FRIENDLY_URL
    0xa69326d8         2  anonymous block

说是为定义主键列,我:???  这不是在这儿呢吗

【问题原因】后来找到原因了,是apex上的主键未设置

【问题解决】需要将列下的主键→【源】→【主键】【仅查询】打开

初具雏形

给启用状态设置标识类型

”往返“

【错误记录】给列设类型后报错"呈现区域xxx时出错"

"切换"(直接报错)

【问题原因】未设置启用禁用值(自带的是默认,默认不被识别)
【问题解决】选中列中的对应字段→【设置】关闭默认值→设置启用/禁用值(这里我用的1/0)

更改后:

在设置里进行展示回显,但是值列表一查还是什么都不显示,后来去数据表查看还是什么都没有,才想起来数据表里没有任何数据ORZ

往里面添加好数据以后的展示

修修改改以后出现了新的问题:

进入设置修改操作项描述点击“保存”以后没有反应,既无设置的项更改,也不关闭弹窗,进入对应的页设置,发现保存按钮对应的【行为】→【数据库操作】“SQL UPDATE操作”

明明之前还能更改来着QAQ

解决方法:重新建一个,这次可以成功实现点击保存后对话框消失,数据可以更改啦!

【小技巧】更新后自动刷新交互式网格

但是一个新的问题出现了:每次修改后主交互式网格数据需要手动进行刷新,这很不符合用户使用体验,于是需要在保存后对数据进行自动刷新:

在主交互式网格页设计器→【动态操作】→【对话框已关闭】→右键 创建动态操作→【标识】自定义名称“保存后刷新”→【时间】选择类型“JavaScript表达式” →window刷新

→创建真操作→【标识】刷新

如此就大公告吉了。

【待解决的问题】存入的是SYSTEM_ID,想要页面展示的是SYSTEAM_NAME

【小细节】在查找多个字段时,哪个字段在前页面优先展示哪个内容

实例:

ID在前,优先展示ID

NAME在前,优先展示NAME

【待解决的问题】想要在选中选项“任何人”的时候隐藏部门和用户,只有选中选项“指定角色或部门”时才出现

隐藏语句:

if ($v('P38_TYPE') != 0) {
    $x_Show("P38_PARENT_ID");
    $x_Hide("P38_PAGE_ID");
} else {
    $x_Hide("P38_PARENT_ID");
    $x_Show("P38_PAGE_ID");
}

过程

记得要在【二维码操作入口设置】添加静态ID

js语句

var flag = $v('P27_HIDDEN');
// console.log(flag);
if (flag == 0){
   $("#P27_RANGE").parent('div').parent('div').show();

} else{
   $("#P27_RANGE").parent('div').parent('div').hide();
};

PL/SQL语句

begin
  if :P27_HIDDEN = 0 then
  :P27_HIDDEN := 1;
  else
    :P27_HIDDEN := 0;
  end if;
end;

if ($v('P27_AUTH_RANGE' != 0)) {
    $x_Show("P27_");
    $x_Hide("P38_PAGE_ID");
} else {
    $x_Hide("P38_PARENT_ID");
    $x_Show("P38_PAGE_ID");
}

运行后报错

ERR-1002 在应用程序 "277" 中未找到项 "P27_HIDDEN" 的项 ID。

将可操作对象下的动态操作【时间】操作将“更改”改为“按键”就不报这个错了,但是也没能隐藏就是了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1077036.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

中国数字化转型浪潮下,移动钱包成为全球App标配

中国,一个数字化转型极为快速的国家,在电子钱包和移动支付方面处于世界领先地位。 在中国,几乎一半的店内购物都是通过手机进行的,这远高于其他发达市场的水平(德国25%,美国24%)。移动支付&…

AI情感陪伴 | 数字伙伴为你而在,解锁情感健康的新时代

当我们审视当今社会的变革和进步时,不难发现新一代年轻人正面临着前所未有的多重挑战。其中就涵盖了社交关系的复杂性、学业上的巨大压力、激烈的就业竞争,以及紧迫的环境问题等等。这些挑战不仅深刻地影响着他们的生活品质,还可能引发严重的…

AUTOSAR CAN通信全过程

1、CAN通信概略图和基本概念介绍 应用层APPL、RTE(实时运行环境 Runtime Environment) 交互层: IPDU multiplexer:协议数据单元复用模块 COM:COMMUNICATION 通信模块 DCM: 诊断通信管理模块(Diagnostic C…

多项目并行管理:优化协调策略提高效率

多项目同时进行已然是大部分项目管理者面临的现状了。相比于单项目管理,多项目管理可能会出现项目资源分配不均,项目进度监控难以及沟通协作复杂等问题。 可以通过一款灵活高效得项目管理工具,来帮助您进行多项目管理,比如 Zoho …

SSL证书如何提升网站的安全性和信任度

在今天的数字时代,随着网络攻击的日益增多,确保网站和用户数据的安全变得至关重要。SSL(Secure Sockets Layer)证书是一个有效的安全解决方案,可以为您的网站提供加密通信通道,并提升其安全性和信任度。下面…

南昌新颜|AIGC艺术之光,历史的魅力与未来的探索

在这个本来稀松平常的周一,我们坐在电脑前,回顾着刚刚过去的两天,仿佛经历了“反方向的钟”。前两天的上班日子,究竟是周几呢?答案不再是简单的星期几,而是“周负二”和“周负一”。因为,我们把…

三、WebGPU Uniforms

三、WebGPU Uniforms Uniform有点像着色器的全局变量。你可以在执行着色器之前设置它们的值,着色器的每次迭代都会有这些值。你可以在下一次请求GPU执行着色器时将它们设置为其他值。我们将再次从第一篇文章中的三角形示例开始,并对其进行修改以使用一些…

Go 字符串操作实战

1. 引言 在现代编程中,字符串处理是不可或缺的一部分。无论是简单的用户界面,还是复杂的数据处理,字符串都扮演着关键的角色。Go语言,作为一个现代的、性能优越的编程语言,为字符串处理提供了一系列强大的工具和功能。…

通过后台系统添加一段div,在div中写一个<style></style>标签来修改div外面的元素的深层元素的样式

先看图 btn元素就是通过后台系统加上的元素,现在需要通过在btn里面写一个style标签来修改grid-nine里面的head元素的高度.开始想通过style来修改,但是不知道怎么去获取这个div外面的元素,想通过js方法去修改,写了script标签加了js代码,但不生效,后面问了才知道,这个项目是vue打…

深度学习笔记之优化算法(六)RMSprop算法的简单认识

深度学习笔记之优化算法——RMSProp算法的简单认识 引言回顾:AdaGrad算法AdaGrad算法与动量法的优化方式区别AdaGrad算法的缺陷 RMProp算法关于AdaGrad问题的优化方式RMSProp的算法过程描述 RMSProp示例代码 引言 上一节对 AdaGrad \text{AdaGrad} AdaGrad算法进行…

重载和重写的区别

方法重载: (1)在同一个类中 (2)方法名必须相同 (3)形参列表必须不同(形参类型或个数或顺序,至少有一样不同,参数名无要求) (4&…

基于SpringBoot的校园社团信息管理系统

目录 前言 一、技术栈 二、系统功能介绍 学生管理 社长管理 社团信息管理 社团新闻管理 社团添加 社团活动 加入社团 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术…

Linux---进程(1)

操作系统 传统的计算机系统资源分为硬件资源和软件资源。硬件资源包括中央处理器,存储器,输入设备,输出设备等物理设备;软件资源是以文件形式保存在存储器上的成熟和数据等信息。 操作系统就是计算机系统资源的管理者。 如果你的计…

GEO生信数据挖掘(七)差异基因分析

上节,我们使用结核病基因数据,做了一个数据预处理的实操案例。例子中结核类型,包括结核,潜隐进展,对照和潜隐,四个类别。本节延续上个数据,进行了差异分析。 差异分析 计算差异指标step12 加载…

销售小白如何写客户拜访记录?

销售小白如何写客户拜访记录?10年客户管理经验,接下来我说的,都是实实在在的经验,小白能用到其中的40%,你的客户成单率会大大提升! 首先,客户拜访记录的哪些信息是重要的? 答案是&…

【ccf-csp题解】第7次csp认证-第二题-俄罗斯方块-简单碰撞检测算法

题目描述 思路讲解 本题的主要思路是实现一个draw函数,这个函数可以绘制每一个状态的画布。然后从第一个状态往后遍历,当绘制到某一个状态发生碰撞时,答案就是上一个状态的画布。 此处的状态x实际就是在原来的15*10画布上的第x行开始画我们…

深度优先搜索详解

目录 前言 一、工作原理 二、模板 函数模板: 准备工作 三、主要应用 (一)寻找全部路径 题目描述 输入格式 输出格式 样例输入 样例输出 参考代码 思路 原题链接:1213: 走迷宫 (二)统计连通块…

哪款洗地机更好用?2023年最好用的洗地机

随着科技的发展和生活质量的提高,人们对洗地机的关注也越来越频繁,但是市场上洗地机品牌众多,消费者在选择时常常会感到困惑。那么,究竟哪个品牌的洗地机更好用呢? 我们在购买洗地机的时候,都要关注洗地机的哪些方面…

如何下载IEEE Journal/Conference/Magazine的LaTeX/Word模板

当你准备撰写一篇学术论文或会议论文时,使用IEEE(电气和电子工程师协会)的LaTeX或Word模板是一种非常有效的方式,它可以帮助你确保你的文稿符合IEEE出版的要求。无论你是一名研究生生或一名资深学者,本教程将向你介绍如…

深度学习问答题(更新中)

1. 各个激活函数的优缺点? 2. 为什么ReLU常用于神经网络的激活函数? 在前向传播和反向传播过程中,ReLU相比于Sigmoid等激活函数计算量小;避免梯度消失问题。对于深层网络,Sigmoid函数反向传播时,很容易就…