根据列比较APEX hightlight行

问题描述:

我在APEX中有一个报告,其中显示了两个表的JOIN。两个表都有一个值,例如电话号码。如果这两个电话号码不匹配,我希望该行被高优先处理。根据列比较APEX hightlight行

我看着Actions> Format> Highlight中的突出显示选项,但似乎我只能将列值与特定值进行比较而不是另一列。

我对APEX很新,所以我可能会错过一些明显的东西!我已阅读其他问题和答案,但他们似乎正在处理更复杂的事情。他们谈到制作一个看不见的专栏并改变这个专栏的价值,但我不确定我会如何做到这一点。

感谢您的帮助!

+0

正如我所提到的旅馆第二段我不知道如何:造型从功能在头隔开)如风格标签?比较2行,只有1行到一个设定值 – Chro 2012-08-06 11:53:52

在查询中创建一个伪列来标记感兴趣的记录。然后与该标志比较:

SELECT a.phone, b.phone 
     ,CASE WHEN a.phone = b.phone THEN 1 ELSE 0 END AS match 
    FROM a, b 
    WHERE a.id = b.id 

您无法在ir突出显示的每行中比较另一列。所以要么输出HTML通过您想要格式化的列的查询,要么使用JavaScript /动态操作。

SQL:

SELECT CASE WHEN a.phone = b.phone THEN htf.escape_sc(a.phone) 
      ELSE '<div class="highlight">'||htf.escape_sc(a.phone)||'</div>' 
     END AS phone_highlight 
FROM a, b 
WHERE a.id = b.id 

(转义特殊字符,当你输出HTML!) 此外,设置显示为“标准报表列”列,所以它会呈现HTML,而不是逃避它。

就个人而言,我会去的javascript:
动态动作,刷新后,执行的JavaScript,请检查“火在页面加载”:

$("td[headers='TELEPHONE1']").each(function(){ 
    var lTest = $(this).siblings("[headers='TELEPHONE2']").text(); 
    if($(this).text()!= lTest){ 
     $(this).addClass("highlight"); 
    }; 
}); 

这将亮点类添加到细胞telephone1它们与同一行中的telephone2不同。

在这两种情况下,我曾与一个班,所以你必须提供。 (当然,你可以在JS使用的CSS(),但我喜欢的造型从功能分隔) 如风格标签头:

<style type="text/css"> 
.highlight{ 
    background-color: yellow; 
    color: purple; 
} 
</style> 

这使得无公害SQL,JavaScript的无造型,和CSS中的样式。

+0

谢谢你的优秀帖子,它对我来说肯定会对我有用,但是暂时格伦的回答对我来说是最简单的。 。 – Chro 2012-08-06 13:03:33

我偶尔从搜索中找到了这个解决方案,首先感谢您投入这个开发者的时间。我把你一路追到:

“在这两种情况下,我都与一个班级一起工作,所以你也必须提供这个功能(当然,你可以在js中使用.css(),但是我喜欢

<style type="text/css"> 
.highlight{ 
background-color: yellow; 
color: purple; 
} 
</style>" 

在哪里,你会在顶点“提供”此再次感谢,