2

我有一个简单的视图,它将持续时间(以秒为单位)作为数字,将格式化字符串作为另一列

这些数字可以是负数,并且“格式化”如下:

-60-00h 01m 00s

60+00h 01m 00s

等等....

为了对数据进行排序,我在交互式报告中使用字符串列中的文本(静态 ID)格式化了我的数字列。

到目前为止,一切都很好。(我现在可以按这个数字/列类型排序)

但是,我无法将过滤器设置为字符串,然后使用 LOV 的返回值来设置过滤器......

关于如何做到这一点的任何想法?

我需要在列的后端编号的所有内容进行排序/过滤,并在列的前面使用实际的字符串作为显示和过滤。

提前谢谢你的帮助。

我正在使用 APEX 18.2

例子:

表“测试”有 2 列:

Duration_Number(数字) & Duration_String (varchar)

在此表中有例如 3 个条目,如下所示:

  • 120, '+0h 02m 00s'
  • -60, '-0h 01m 00s'
  • 60, '+0h 01m 00s'

交互式报告应该只显示字符串,但应该能够按相应的数字排序!

为了对该列进行排序,您可以使用#DURATION_STRING# ID 格式化 DURATION_NUMBER 列(在列格式 => HTML 表达式下)这样您现在可以正确地对其进行排序。

但是过滤器(下拉列表)仍然显示不同的 DURATION_NUMBER 列表。

所以我创建了一个 LoV,其中 DURATION_STRING 作为显示值,DURATION_NUMBER 作为返回值。过滤器现在填充了字符串,但过滤器不再起作用,因为返回值(数字)与格式化的列不匹配。

编辑:我刚刚注意到,来自 LoV 的返回值根本不重要,因此无法自定义排序/过滤列?

Edit2:我还尝试了基于 LoV 的纯文本列,但没有运气...

4

0 回答 0