javascript - 如何根据 CSS 类和二进制数字开/关位置突出显示特定列值

标签 javascript jquery css oracle11g oracle-apex

使用 Oracle APEX v5.1.2。

不确定如何解决以下问题,但我有一个名为 flag_defs 的表,其中包含以下示例数据:

ID      NAME
------- ------
1       A
2       B
3       C
4       D
5       E
6       F

根据上表,我需要用报告区域显示所有这些名称,但不是在单独的行中,而是按以下方式显示:

A B C D
E F

我只显示了 4 个名字。

现在根据以下二进制约定,说出以下内容:

010010

此序列中的第一个 0 行到 ID = 1,最后一个 0 行到 ID = 6

基于这个将存储在另一个表的数据库字段中的二进制序列,我需要应用一个名为“flag-red”的类,我将其定义为 color:red;font-weight:bold;到 ID 位置设置为“1”的名称。

因此,在上面的示例二进制序列中,“B”和“E”都只会收到“flag-red”类,并且在报告区域内将显示为红色/粗体。其他人不会。

如果该 ID 的数字“1”重置回“0”,则删除类也是如此。

我需要遍历此字段中的每个数字以在我的报告中设置正确的类。

我假设我会首先创建一个报告并为每个名称分配一个跨度类,但不确定这是否是正确的方法。

此外,JavaScript 是更好的选择还是坚持使用 SQL

对于如何解决上述问题,我们将不胜感激。

最佳答案

我建议您通过以下方式进行举报:

假设您有一个查询返回一些包含 rownum 列的行。向该查询添加一个数据透视表,我们可以将其转换为以下内容:

select *
  from (select r, mod(rownum, 6) group_no, floor((rownum - 1)/6) row_id
          from (select rownum r
          from dual connect by level <= 30) t)
 pivot(max(r) for group_no in (1, 2, 3, 4, 5, 0))
 order by 1

enter image description here

现在我们可以将此查询与存储二进制掩码的表连接起来以显示。假设初始查询有列 C1C2、... C6 和数据,并且带有掩码数据的连接表有列 M1 , M2, ... M6。 (如果是一列带掩码,我们可以用计算表达式产生6列)你可以在这些列中计算一个CSS类的名称,比如

select ...
       case when <expression1> then 'flag-red' else 'flad-green' end M1,
       ...

下一步是转到报表属性,在列列表中选择列 C1,转到 Column formatting 部分,输入 #M1#CSS 类字段 中:

enter image description here

此外,将 M1M2、... M6 列标记为隐藏。

关于javascript - 如何根据 CSS 类和二进制数字开/关位置突出显示特定列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45316441/

相关文章:

javascript - 如何使用 WSDL 实用程序生成的 JavaScript 类?

javascript - 全局变量在 forEach 循环体内显示为 "unexpected identifier"

javascript - 在 IE8 中使用 Owl Carousel 和 Respond.js

javascript - 没有边框的 iframe 并在弹出窗口中滚动

jquery - Sidr菜单打开时如何显示关闭图标

javascript - 为什么从它们的 toString() 结果返回的日期与它们自己不同?

javascript - 获取在另一个元素中找到的元素的值(多个类)

javascript - jQuery .data() 值中包含空格的问题

css - 表格中的羽毛边 Angular 如何?

javascript - Skrollr 相对模式在 Chrome 或 Safari 中无法正常工作