Apex 分面搜索自动生成行号
Apex faceted search to automatically generate row nuber
我正在尝试在我的报告中添加一列 'Number',到目前为止我所能做的就是使用 row_number()
select row_number over (order by date_a) as N, id, date_a
from my_table
order by date_a
问题是当我开始使用分面搜索(这是必不可少的)时,数字当然不会再次生成,所以我得到这样的结果
n
date_a
33
1/1/2020
150
3/2/2020
491
2/4/2020
647
8/6/2020
那么有没有一种方法可以在每个过滤器之后自动生成行号,或者有一个 java 脚本从客户端生成行号
您不能开箱即用。分面搜索功能发生在客户端,因此您必须使用 javascript 生成行号。此外,当用户执行任何导致分面搜索结果刷新的操作时,必须重新计算行号。
我完成了以下工作。对于我的示例,我使用示例 emp table,查询 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 实例上验证了这一点。
我正在尝试在我的报告中添加一列 'Number',到目前为止我所能做的就是使用 row_number()
select row_number over (order by date_a) as N, id, date_a
from my_table
order by date_a
问题是当我开始使用分面搜索(这是必不可少的)时,数字当然不会再次生成,所以我得到这样的结果
n | date_a |
---|---|
33 | 1/1/2020 |
150 | 3/2/2020 |
491 | 2/4/2020 |
647 | 8/6/2020 |
那么有没有一种方法可以在每个过滤器之后自动生成行号,或者有一个 java 脚本从客户端生成行号
您不能开箱即用。分面搜索功能发生在客户端,因此您必须使用 javascript 生成行号。此外,当用户执行任何导致分面搜索结果刷新的操作时,必须重新计算行号。
我完成了以下工作。对于我的示例,我使用示例 emp table,查询 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 实例上验证了这一点。