oracle-apex - Apex 分面搜索自动生成行 nuber
问题描述
我正在尝试在我的报告中添加一列“数字”,到目前为止我所能做的就是使用 row_number()
select row_number over (order by date_a) as N, id, date_a
from my_table
order by date_a
问题是当我开始使用分面搜索(这是必不可少的)时,当然不会再次生成数字,所以我得到这样的结果
n | 日期_a |
---|---|
33 | 2020 年 1 月 1 日 |
150 | 2020 年 3 月 2 日 |
491 | 2020 年 2 月 4 日 |
647 | 2020 年 8 月 6 日 |
那么有没有办法在每个过滤器或java脚本之后自动生成行号以从客户端生成数字
解决方案
你不能开箱即用。分面搜索功能发生在客户端上,因此您必须使用 javascript 生成行号。此外,当用户执行任何导致多面搜索结果刷新的操作时,必须重新计算行号。
我得到这个工作做以下。对于我的示例,我使用了示例 emp 表,查询SELECT * FROM emp
作为源。
- “搜索结果”区域的静态 ID:fs-report
- 将派生列添加到报表以显示生成的行号。就我而言,这是第一列。
- 在页面属性中,在“函数和全局变量声明”下,创建以下函数:
function resequenceEmpTab(){
let table = document.getElementById('report_table_fs-report');
console.log('x');
for(var i = 1; i < table.rows.length; i++)
{
{
//set the value of the first column to i
table.rows[i].cells[0].innerHTML = i;
}
}
}
- 在页面属性中,在“页面加载时执行”下,添加以下代码:
resequenceEmpTab();
- 创建动态动作,事件:“刷新后”,选择类型:“区域”,区域:“搜索”。将事件范围设置为“动态”。
- 添加“执行 Javascript 代码”类型的真实操作和源
resequenceEmpTab();
在 apex 20.2 实例上验证了这一点。
推荐阅读
- ios - 如何在 Swift 中更改视频视图的大小
- google-apps-script - 如何将行移动到命名范围的最后一行(onEdit)
- java - # 在 XML 命名空间中似乎导致 java API 中的异常——为什么?
- optimization - 如何在 CPLEX ILOG 上创建的模型中实现本地搜索算法?
- gmp - 为什么我不能将这个科学记数法读入 GMP mpf_t?
- ios - iOS Swift 代码 - 当我有断点时才工作
- node.js - 如何通过填充字段在猫鼬中查找文档?
- javascript - 用于通过 require 导入的 JSON 文件的 Visual Studio Code Intellisense
- node.js - Node 和 Express – 有条件地显示页面
- android - 为什么 RecyclerView 在没有 notifyDataSetChanged() 的情况下更新?