【问题标题】:Make an apex item red if it is negative如果顶点项目为负数,则将其设为红色
【发布时间】:2013-06-21 17:20:43
【问题描述】:

我在页面上有一些显示项目,如果它们的值为负数,我想以红色显示。加载页面时,某些 PL/SQL 会加载项的值。该值是一个格式化的字符串,例如'-$100.00'

我无法在 HTML 表格单元格属性中设置类,因为它是无条件的。

【问题讨论】:

  • 我已经提出并回答了这个问题,以防有人有更好的主意:)

标签: css oracle oracle-apex


【解决方案1】:

如果在没有 DA 的情况下使用这种样式怎么办?

<style>
  input[value^="-"] {
    color:red;
  }
</style>

如果项目是可编辑的,则此示例将不起作用 - 更改项目的值无效。

【讨论】:

  • 嗨@NoGotnu,我不知道如何让它工作。在我的例子中,这些项目是显示项目,所以它们被渲染为&lt;span id="P6_LYR_ACTUAL_AMOUNT" class="display_only"&gt;-$157,931,570&lt;/span&gt;。没有&lt;input&gt; 项。
  • 嗨@Jeffrey Kemp!不幸的是,css 中没有内容选择器。因此,只有动态操作或/和 jQuery/javascript。我只有一个改进:如果您有很多项目,请不要为每个项目创建 DA。添加到您所有项目的某个类别,例如“现金”,然后创建一个 DA,代码为:$('.cash:contains("-")').addClass('negative');
【解决方案2】:

使用动态操作在页面加载时向项目添加类:

  1. 向页面添加样式(例如,在页眉或 CSS 文件中):

    <style>
     .negative { color:red }
    </style>
    
  2. 在页面上创建动态操作:

    事件 = 页面加载

    条件 = Javascript 表达式

    = $v("P1_MY_ITEM").charAt(0)=="-"

    真正的行动 = 添加类

    页面加载时触发 = False

    = negative

    选择类型 = 项目

    项目 = P1_MY_ITEM

  3. 对需要此行为的每个项目重复第 2 步。

如果您希望文本颜色不同(例如蓝色)且数量不是负数,请在样式表中添加另一个类(例如.positive { color:blue })并在动态操作中添加False Action

此外,如果项目是可编辑的,则动态操作可能由 Change 事件触发。

【讨论】:

猜你喜欢
  • 2021-02-17
  • 2010-10-12
  • 2021-12-23
  • 2015-01-09
  • 1970-01-01
  • 2011-03-13
  • 1970-01-01
  • 2019-02-15
  • 2013-10-05
相关资源
最近更新 更多