问题标签 [oracle-apex-20.2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle-apex - 页面加载时设置的交互式过滤器仅在手动刷新后显示
我正在使用新的 APEX_IG 包方法 add_filter 为 IG 设置动态过滤器。所以从第 1 页我点击链接转到第 2 页,我有交互式网格。通过该链接,我在第 2 页上设置了几个页面项目,并基于这些项目创建过滤器APEX_IG.ADD_FILTER
。所以过滤器的设置必须在 PAGE_LOAD 上完成。
APEX_IG.ADD_FILTER
在页面加载时,如果特定页面项不为空,我会使用 DA 调用。当我第一次打开页面时,我没有看到应用的过滤器,它们只有在我手动刷新页面后才会显示。我在执行后为 IG 添加了一个刷新操作,ADD_FILTER
但这并没有做任何事情 - 为了看到更改,我仍然需要手动刷新页面。
我无法在页面加载下添加任何刷新操作或提交页面操作,因为这会重复刷新页面。应用或删除过滤器后以编程方式刷新页面的最佳方法是什么?
oracle-apex - Oracle APEX:仅显示页面项目上的会话状态保护冲突错误
我正在尝试Display Only
使用一个选择列表上的动态操作更新页面项目,并希望在该仅显示项目中显示该值。
我的代码有效并且页面项目被设置但是一旦我尝试提交页面我得到一个错误:Session state protection violation: This may be caused by manual alteration of protected page item P1_TEST_ITEM. If you are unsure what caused this error, please contact the application administrator for assistance.
我知道对于隐藏项目,我可以关闭它,Value Protected
但对于Display Only
页面项目则不同,因为没有选项可以关闭受保护的值。我该如何解决这个问题?
oracle-apex - Oracle APEX:动态 SetValue 不起作用
在页面加载时,我需要根据应用程序项 APP_ITEM1 的值设置页面项 P1_ITEM2 的值
我在页面加载时创建了以下 DA:
什么都没有设置。不知道发生了什么
oracle-apex - Oracle APEX:如何以编程方式隐藏 IG APEX$ROW_SELECTOR
有没有办法以编程方式隐藏 APEX$ROW_SELECTOR 以使其仅在满足特定条件时才读取?
例如,如果我在页面加载时检查隐藏页面项目的值,并根据该页面项目的值在我的网格中隐藏选择器列的内容
oracle-apex-20.2 - oracle apex 选项卡区域更改事件
我有区域显示选择器,并且有两个子区域作为rds
子区域作为子区域。我想在标签页切换时将事件捕获为 DA,我尝试了以下方法,但没有成功,
申请路径是链接
sql - Oracle Apex 交互式网格根据条件禁用 ROW
我有一个名为TABLE_A
fields的表ID, FIRST_NAME, LAST_NAME, AGE, STATUS
。
从这个表中,我在 ORACLE APEX 20.2 中有一个交互式网格,我希望当状态被批准时,网格中该记录的整行被禁用(不可编辑)。我已经做过研究,但他们说话并描述了列禁用。我不想根据条件禁用列,我想禁用一行。
在 oracle apex 中,我使用了交互式网格上的只读功能。使用只读功能,我对返回的行进行了 sql 查询,如下所示,但是当我使用它时,它会使整个网格不可编辑:
返回行时的 SQL 查询
Oracle Apex 的屏幕截图
您的帮助将不胜感激!
javascript - 如何在更改事件的 Javascript 动态操作中访问输入的交互式网格列值以确保唯一性
我试图防止在 Oracle Apex 20.2 的交互式网格中输入重复的项目。发生这种情况时,我确实会遇到唯一约束错误,但这是针对条形码扫描库存控制应用程序的,唯一约束错误仅在扫描有很多对象的房间后保存时才会发生。然后很难找到重复的字段。您也不能使用排序,因为它想要刷新页面并丢失所有扫描的项目。我无法预排序,因为我希望最后扫描的项目位于顶部。
我能够在页面加载时添加 Javascript,从而创建一个包含所有条形码的数组。然后,我在扫描时检查此数组,并且在要将重复的条形码添加到数组中时不添加新的交互式网格行。
除此之外,当手动输入交互式网格行时,我需要添加相同的内容。为此,我想在交互式网格中的条形码列上添加一个 Javascript 动态操作,以便再次检查全局数组的唯一性。但是我有几个问题:我无法弄清楚如何在更改动态操作 Javascript 中获取输入的条形码值,有时它会显示以前更改的值(可能是这个错误虽然我在 20.2 中)并且在输入值后按 Enter 键时,Change 事件似乎也触发了两次(一次用于新行(这次我的代码与点击 Tab 时不同),一次用于下面的下一行)。最后一个似乎很糟糕,从那时起它将尝试检查现有值(下一行)并给出不应该发生的错误;但是我没有看到像 On Row Submit 这样的更合适的事件。不确定是否有办法检查 Change 事件中的值是否发生了变化。
我目前拥有的代码是从这里获得的。我假设这意味着 Oracle Apex 没有在 Javascript 动态操作中获取交互式网格列值的标准方法。不确定这是否在 20.2 或 21 中发生了变化。我拥有的代码是:
当我console.log(record)
可以看到输入到条形码列中的值时,但我不知道如何遍历对象树以便从record
. 我不明白它在控制台日志中显示的对象。它似乎与其他人在上述代码中所做的点访问遍历无关。我可以record
在顶部看到数组,但条形码列显示的是前一个值;然而,在下面它确实将新输入的值显示为第三 (2) 个索引,但我不知道如何编写 Javascript 来访问它。
如果我可以从record
对象访问以前的值和新值,我可以检查更改并将新值与全局数组进行比较。我如何访问record
对象中的这些值,或者是否有更好的方法来实现我的目标?bcode
打印以前的值,所以我想如果那不是错误,我已经有了。
oracle - 在 oracle Apex 中显示表更新时间
我有一个场景,我每天都在更新 oracle APEX (v 20.2.0.00.20) 中的表。我想在顶部的页面导航栏中或页面上任何位置的卡片中显示信息,就像表格更新时一样
“最后更新:日期和时间”
这在 oracle APEX 中是否可以实现或可能,找不到与此相关的任何文件或信息?任何线索都会很棒