You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Oracle Apex交互式网格透视表合计行灰色高亮的实现方案咨询

Oracle Apex交互式网格透视表合计行灰色高亮的实现方案咨询

嗨,我来帮你搞定这个合计行高亮的问题!你已经通过GROUPING SETS生成了带有Total标记的行,现在要给这行设置灰色背景,有两种实用的方法,咱们一步步来操作:

方法一:使用Apex内置的条件格式(推荐,无需写代码)

这是最直观的方式,完全在Apex的可视化界面里配置:

  • 打开你的交互式网格编辑页面,找到「Columns」栏目,定位到FINISH_UNIT列(就是包含Total文本的那列)
  • 点击该列的「Conditional Formatting」选项,然后点击「Add Condition」
  • 配置条件规则:
    • 类型(Type)选择「Column Value」
    • 运算符(Operator)选择「Equals」
    • 值(Value)填写 Total
  • 切换到「Formatting」标签,把「Background Color」设置成你想要的灰色(比如系统预设的灰色,或者手动输入#e0e0e0这种十六进制颜色码)
  • 保存所有设置后,运行页面就能看到合计行已经变成灰色背景了

方法二:通过CSS/Javascript实现(适合特殊透视表结构)

如果内置条件格式因为透视表的特殊渲染结构不生效,可以试试这种方式:

步骤1:给交互式网格设置静态ID

  • 找到交互式网格的「Advanced」属性,在「Static ID」里填写一个自定义ID,比如my-pivot-ig

步骤2:添加CSS代码

在页面的「Inline CSS」(或者页面级的CSS资源)里加入以下代码:

#my-pivot-ig tr[data-finish_unit="Total"] {
    background-color: #e0e0e0 !important;
}

小贴士:你可以打开浏览器的开发者工具,检查Total行的<tr>元素,确认对应的data属性名(Apex会把列名转成小写加下划线,FINISH_UNIT对应的就是data-finish_unit

备选:用Javascript动态标记合计行

如果透视表的列位置固定,也可以用JS来定位并添加样式类:
在页面的「Execute when Page Loads」里加入这段代码:

// 假设Total在透视表的第一列,根据实际位置调整eq的索引
$('table.aig-pivot-table tr').each(function() {
    if ($(this).find('td').eq(0).text().trim() === 'Total') {
        $(this).addClass('total-row');
    }
});

然后对应的CSS:

.total-row {
    background-color: #e0e0e0 !important;
}

因为你的SQL是通过GROUPING SETS生成的Total行,FINISH_UNIT列的值确实是Total,所以以上两种方法都能精准匹配到目标行。

备注:内容来源于stack exchange,提问作者Shoaib Shafiq

火山引擎 最新活动