- 博客(242)
- 收藏
- 关注
原创 【Oracle APEX开发小技巧15】多级弹窗关闭子级保留父级
摘要:实现弹窗B关闭后保留弹窗A的关键在于:1)关闭弹窗B的【已链接】属性;2)弹窗A必须通过重定向方式打开弹窗B。若参数固定(如P69→P70→P71),重定向可行;若参数动态,建议使用提交页方式。"已链接"选项决定是否重用对话框窗口:启用则多页向导重用窗口,关闭则在新窗口打开模态对话框。正确设置后,关闭弹窗B时弹窗A将保持显示状态。(150字)
2025-07-04 14:12:45
190
原创 【Oracle APEX开发小技巧14】实现对按钮/操作的权限管控
文章摘要:本文介绍了基于角色的按钮与操作权限管控实现方案。系统通过角色代码(ROLE_CODE)区分用户权限,如查看组仅有查询权限,管理员则拥有增删改权限。技术实现包括:1)创建应用程序项存储角色代码;2)建立授权方案验证用户权限;3)在按钮安全性设置中应用授权方案;4)通过动态CSS类控制操作列的显示/隐藏。该方法实现了根据用户角色动态管控界面元素,确保不同权限用户看到的功能按钮与操作选项与其角色相匹配。
2025-07-03 17:45:00
203
原创 【Oracle APEX开发小技巧13】父子级联交互式网格
摘要 通过启用APEX交互式网格中的$ROW_SELECTOR列并关闭多选功能,实现了行单选效果。设置前无法实现点击父级展示对应子级的功能,设置后可正确选择当前行(单选模式),满足点击父级展示子级的交互需求。该配置优化了网格的选择行为,提升了用户体验。
2025-06-26 17:47:23
133
原创 【Oracle APEX开发小技巧12】
有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。
2025-06-06 16:51:01
425
原创 【开发小技巧11】用经典报表实现badge list效果,根据回显内容用颜色加以区分
之前使用badge list实现首页指标数据回显,但是无法根据对应数据进行个性化动态展示,那要如何解决呢?下面就来看看如何通过经典报表实现badge list效果,根据回显内容用颜色加以区分。
2024-11-22 18:10:59
835
原创 【Oracle APEX开发小技巧10】CSS样式控制交互式报表列宽和自动换行效果
在实际开发中使用交互式报表可能会出现某些字段的列宽过长,某些字段的列宽只有缩到一角的情况,那么如何解决这种情况呢?有没有方法可以控制交互式报表的列宽呢?长度固定,不再是被挤到一角。页设置-页-CSS-内嵌。
2024-11-01 08:29:48
533
原创 【Oracle APEX开发小技巧9】通过页面设置文本大写避免upper()函数转换占用额外资源
进行规范改造登录函数和存储过程时,发现有些应用的登录函数/存储过程中有upper()函数的使用,因为登录时输入工号,默认无更改,为了与数据库中存储的数据对应,通过upper()将其文本中字母设置为大写。若要解决这个问题,可以在页面设置文本大写,如此一来在写登录函数和登录后存储过程就不需要使用upper()函数转换大写,避免占用资源,提高运行速度。函数是一个强大的工具,可以帮助开发者在处理字符串时保持大小写的一致性。:如果字符串中的字符不是字母,则不受此函数的影响,这意味着非字母字符将保持不变。
2024-10-09 18:12:56
527
原创 【Oracle APEX开发小技巧 8 】图片回显及多图片URL在页面回显点击放大
用户在现场使用应用小程序拍照上传,存储的是图片的URL,那么如何将图片在APEX端回显呢?多图片URL在页面回显点击放大又是如何实现的呢?接下来请随我一探究竟
2024-09-09 08:49:31
798
1
原创 APEX页面传参失败可能的原因及解决方案
在配置页面传参时,发现参数在A页面变量CODE是MOMP_CBS,到了B页面变量CODE就变成了MOMP_OPERATE_SCREEN,百思不得其解。后来发现是相同参数名,传参失败。
2024-09-06 10:35:51
200
原创 【Oracle APEX开发小技巧 7】解决初始化数据在动态操作-变更中被识别跳出弹窗的问题
在开发时有一个场景——推送开关数据来自于初始化动态操作,理论上只有变更的时候才会有二次提示,但是因为初始化会触发变更,所以会有弹窗,这不是我们想要的结果,有什么办法在初次回显数据不跳出提示吗?开始我在APEX页面想通过原生的方式解决,但是失败了,后来我通过通过设置标帜位解决了这个问题——初始化时设置值,变更标帜位值变化,只有标帜位不为初始值才会弹出弹窗提示。只有加载次数为0(非初始化加载)才会有变更弹窗提示。通过设置标帜位,将初始化时的加载次数设置为1,变更项值触发加载次数变更的动态操作。
2024-09-03 19:12:49
443
原创 【开发小知识】替换字符的介绍及使用
在页面模板或区域源中使用替换字符串来将字符串替换为另一个值。在设计应用程序并使用户能够编辑项时,可以使用替换字符串来传递信息。
2024-08-12 08:29:25
912
1
原创 【Oracle APEX开发小技巧6】使用仅显示时,执行顺序导致展示内容和预期效果冲突问题的解决
在使用表单进行展示数据例如详情查看,只要求回显数据且不可更改,于是在设置类型时使用“仅显示”,比如变更人存入USER_ID,展示USER_NAME,变更类型存入“insert”,展示“新增”等,但是实际开发过程中使用仅显示时,执行顺序导致展示内容和预期效果冲突,如图所示。
2024-08-11 18:16:02
357
原创 【Oracle APEX开发小技巧5】点击页面除模式对话框外的其它区域,能够自动关闭模式对话框,而不需要点解右上角的“X”来关闭
a. 如果变量count是偶数,将其重置为1,并调用apex.navigation.dialog.cancel(true)方法取消对话框。这段代码是JavaScript代码,主要功能是在网页的body元素上添加一个点击事件监听器。1. 获取名为"ui-widget-overlay ui-front"的div元素,这个元素可能是一个遮罩层。2. 检查是否存在这样的遮罩层元素。这段代码的主要目的是在用户点击遮罩层时,交替地取消对话框。b. 如果变量count是奇数,将其加1。
2024-07-29 10:17:18
319
原创 【Oracle APEX开发小技巧4】在使用插件Badage List的基础上,实现点击对应基地跳出对应模式对话框
&BASE_NAME.` 是一个全局变量,用于获取当前应用程序的根URL。`&P138_BASE_NAME.` 则更像是一个特定的页面项值,其具体内容取决于该页面项被赋予的值。在使用这些变量时,需要根据实际的需求和上下文来决定使用哪一个。如果需要构建动态URL,通常会使用 `&BASE_NAME.`。如果需要引用页面上的某个特定数据项,则会使用类似 `&P138_BASE_NAME.` 这样的表达式。
2024-07-12 10:38:25
1126
原创 索引唯一约束问题SQL
这个问题可能是由于在Oracle APEX中,虽然你创建了一个名为"ISEQ_520227"的索引,但是在插入数据时,违反了唯一约束条件。这可能是因为你的数据表中已经存在相同的值,或者你的插入语句没有正确地使用这个索引。
2024-07-08 16:30:46
1039
原创 【Oracle APEX开发小技巧3】Oracle apex pl/sql动态拼接的注意点和技巧
在开发过程中,我们经常需要根据不同的条件执行不同的SQL查询。例如,当权限类型为0(非超级管理员权限)时,我们只能查询特定平台的数据;而当权限类型为1(超级管理员权限)时,我们需要查询所有平台的数据。为了实现这个效果,我们可以使用动态拼接进行SQL查询,并根据用户权限进行展示。
2024-06-24 19:52:33
1084
原创 【Oracle APEX开发小技巧2】在不通过类型转换的前提下使用Oracle APEX自带的格式掩码实现数值的精确展现
前面提到过可通过类型转化的方式来表示,将number类型转化为char类型,今天则是分享使用Oracle APEX自带的格式掩码实现数值的精确展现:
2024-06-16 10:36:14
969
原创 APEX开发过程中需要注意的小细节8
if (!} else {i++) {">// alert('页面上获取id:' + datas[i].id)//存入评分// console.log('map: ' +'id '+ key, '评分'+value)// }), value: score, //初始值//存入评分,动态获取})// // alert('页面上获取id:' + ids);//存入id。
2024-05-19 19:18:15
922
原创 APEX开发过程中需要注意的小细节7
在Oracle中,你不能直接修改一个已有表的列,使其成为自增长主键。你需要创建一个新的表,然后把旧表的数据复制到新表中,并设置新表的主键为自增长。以下是如何在Oracle中实现这一过程的步骤:创建一个新表,并定义一个自增长的主键。使用语句将旧表的数据复制到新表中。删除旧表。将新表重命名为旧表的名字。请注意,在实际操作中,需要替换...来包含所有的列名,并确保新表中的其他列和旧表中的列是对应一致的。此外,如果旧表有外键依赖或其他约束,你可能还需要更新这些依赖或约束,以适应新表的结构。
2024-05-19 18:57:50
474
2
原创 APEX开发过程中需要注意的小细节6
important,作用是提高指定样式规则的应用优先权(优先级)。语法格式{ cssRule!important },即写在定义的最后面,例如:box{color:red!important;在CSS中,通过对某一样式声明!important ,可以更改默认的CSS样式优先级规则,使该条样式属性声明具有最高优先级。浏览器识别ie7及ie7+,firefox,chrome等浏览器下,已经可以识别!important属性, 但是IE 6.0IE6及更早浏览器下仍然不能完全识别。
2024-05-11 14:02:04
702
原创 APEX开发过程中需要注意的小细节5.5
在日常开发中经常用到百分比做数据对比,但是有可能得到的数据是一个多位小数,结果如下所示:如果想截取部分小数如保留小数点后两位可以怎么做呢?在Oracle中,可以使用ROUND函数来四舍五入保留小数点后两位,或者使用TRUNC函数来截断小数点后多余的位数。例子:使用ROUND使用TRUNC在这里,DUAL是Oracle提供的一个虚拟表,可以用来进行这种单行选择操作。ROUND函数进行四舍五入,而TRUNC函数则直接截断多余的小数位数。两者的区别在于如何处理.5的情况,ROUND。
2024-04-17 11:09:06
887
原创 Oracle APEX 23.2版本 使用应用程序工作副本进行协作开发
当前APEX协作开发都是在同一应用程序下进行的,这样做有可能因同一时间对同一数据进行操作造成锁表或其他问题,Oracle APEX23.2版本迭代后新增了部分功能,可以创建应用程序的工作副本来修复错误、添加功能,然后有选择地将更改合并回主应用程序。同样,也可以将更改从主应用程序刷新到工作副本中。在合并或刷新过程中,可以查看 Working Copy 和 Main 应用程序的比较/差异,然后选择要合并的更改。可根据需要创建任意数量的工作副本,以便多个开发人员进行开发和合并更改。实践效果。
2024-04-05 17:54:42
1308
原创 APEX开发过程中需要注意的小细节4
每次编辑/更新如果未保存离开当前页面会有弹窗警告并且需要点击才能执行下一步,感觉很不方便对应的页-导航-关闭“有未保存更改时发出警告”
2024-03-22 18:57:45
882
1
原创 APEX开发过程中需要注意的小细节3
仅展示的数据来自主表,这部分都是关联子表重点内容,编辑时无法保存于是想将扩展表作为主表,在主表进行修改试试新的报错:ORA-01779: 无法修改与非键值保存表对应的列看来单表可以使用Oracle APEX原生的联表增删改只能手敲SQL。
2024-03-08 18:32:51
1035
原创 APEX开发过程中需要注意的小细节2
- and to_char("start_date",'yyyy') = to_char(sysdate,'yyyy') --动态的,当前年份。以为是触发顺序问题,所以设置两个东台操作,一个事件是“更改”,另一个是“单击”,后来终于找到解决方法:在校验前执行取值。开发时遇到首次获取租户号失败的问题。动态查询年份作为筛选条件。
2024-02-09 20:17:38
295
原创 APEX开发过程中需要注意的小细节
不积小流无以成江海,不积跬步无以至千里,Oracle APEX开发过程中有很多小细节,自己记录的同事也分享给大家希望能有所助益。
2024-01-29 20:42:23
497
2
原创 【开发问题&问题解决&开发小技巧】通用资源管理01
出现修改时回显总是同样的内容且还不是对应的数据内容问题,后来在前辈的帮助下找到原因,该字段源来自SQL查询结果,且不同情况下对应不同选择,如图所示:小结:当高速缓存清空时使用“仅当会话状态中的当前值为空时”当高速缓存不清空时使用“始终替换会话状态中的任何现有值”
2024-01-26 17:20:42
1183
原创 开发小技巧——自动生成编码的几种常用方法
在日常开发中会遇到一些需要编码的场景,除非有手动输入的需求,一般情况下更青睐于代码自动生成,代码可以按想要的方式进行生成,这里举几个简单例子。封装好的函数可以方便地生成编码,避免了手动生成UUID的麻烦,提高了数据处理效率。生成一个指定范围的38位随机小数(小数点后38位),若不指定范围则默认为范围为[0,1)的随机数。注意:如果只是截取部分字符串还是有可能会重复,截取的部分字符串越短重复概率越大。两个参数用法:字符串.substr(参数1,参数2)如果是0或正整数,则代表字符串截取的起始下标。
2024-01-15 19:54:00
1559
原创 APEX后台弱密码增强改造出现的问题及解决方法
为了加强APEX后台密码的安全性和可靠性,对其进行弱密码改造,通过改写登录函数,判断密码可靠性,在密码不符合条件(密码长度必须大于8位小于16位,其包含数字、大小写字母与特殊符号)时跳转到密码修改页面。
2023-12-22 10:37:08
1026
原创 Oracle定时任务的创建与禁用/删除
一、Oracle定时器是什么Oracle定时器是一种用于在特定时间执行任务或存储过程的工具,可以根据需求设置不同的时间段和频率来执行相应的操作。二、为什么使用Oracle定时器使用Oracle定时器的好处在于可以自动化执行重复性的任务,比如每天、每周或每月执行一次数据库维护、数据备份等操作,从而减轻了人工操作的负担,提高了工作效率。三、如何使用Oracle定时器使用Oracle定时器的方法包括编写存储过程来定义需要执行的任务,然后创建一个定时器Job来调度这个存储过程。可以根据具体需求设置定时
2023-12-19 17:30:01
4072
原创 【开发问题&解决方法记录】05.dian 多角色切换&基地隔离
校验输入的只能是字母数字,js登录页想加入基地的选择,即用户输入工号,通过工号获取该用户所属基地,若是该用户由多个基地,则以选择列表/单选项的形式让其选择一个基地登录,其他基地的状态就改为禁用,以此达到数据隔离的效果。
2023-12-18 14:57:00
1136
原创 【开发问题&解决方法记录】04.dian 权限表单优化
说明不能笼统卸载一起,因为P33_PERMISSION_ID在自动生成CODE的代码中是作为判断的的输入项,而在新增执行代码中是自增的,在按下“新增”按钮前都无法获取,所以会报错。先后执行顺序:若是用户未手动输入,点击新增按钮,先自动生成CODE再执行新增操作。在权限编码框中写入自动编码的代码,但是点击自动生成无效。DG可以获取到页面信息,但是表和应用程序无法获取到。将自动生成CODE的代码和新增代码分开并校验。父级权限从晶点权限表获取做成列表下拉选中。自动生成权限CODE并校验。权限名称和编码一行两列。
2023-12-06 11:23:02
502
原创 【开发问题&解决方法记录】03.dian
一开始找错方向了,以为是代码错误,但是后来在蒋老师的提醒下在共享组件-应用程序项 中发现设的项不是ROLE_ID而是ROLEID,怪不得找不到ORZ。原因:我把传参条件又作为查询条件查询了一次,而且权限ID查询一次返回多条,怪不得出错。之前一直无法选中,后来检查发现是未导入对应JavaScript的文件URL。切换角色遇阻,在页项中可以获取到ROLE_ID,但是传参获取不到。解决方法:将代码中的字段和应用程序项相对应。想要列表美观,可以在【属性】中更改。
2023-12-04 17:57:01
451
原创 我的创作纪念日
最初成为创作者的初心只是想记录自己在学习过程中遇到的问题、解决方法和小进步,但是在者过程中发现我的博文也能帮助到其他学习者和开发者,在评论区也会有问答解疑,这样的氛围很好,我很喜欢。学好Oracle Apex和PL/SQL的同时,多储备一些其他知识,做复合型人才。在创作的过程中获得很多肯定,也会有大佬指出不足,大家一起交流学习。提示:你过去写得最好的一段代码是什么?有时候回过头来看自己的文章还能帮助解决现有问题;
2023-12-04 13:51:09
403
原创 APEX 权限的树形列表展示——基于APEX FancyTree Select
细节,这里应该要加上对应的权限id,但是我忘记替换了,用的还是原版的。
2023-12-02 13:35:22
605
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人