使用配置对象自定义Interactive Grid标头

时间:2017-09-14 13:07:23

标签: oracle-apex-5.1

我正在尝试在交互式网格表单中设置列标题的背景颜色。我尝试过几件事:

  • 为列指定了一个静态id,并创建了一个以该id为目标的内联css选择器 - 结果是数据单元只在编辑时继承了这些属性;标题保持不受影响
  • 将一个类分配给一个列,并创建一个以该类为目标的内联css选择器 - 结果是所有数据行都继承了这些属性;标题仍未受影响
  • 我尝试使用JavaScript Code下的Advanced选项,该选项可以使用配置对象并修改列行为和外观,但没有太大成功。我设法更改列标题文本,但没有别的。我怀疑该配置对象的某些成员会影响标题背景颜色,但我似乎无法找到它。

所以问题是:

如何使用配置对象自定义交互式网格列标题(即设置其背景颜色)?

我认为这可能被视为一个单独的问题,但如果事实证明这是不可能的,那么最好的选择是什么?

2 个答案:

答案 0 :(得分:0)

如果更改是静态的,您可以使用页面级CSS来执行此操作。每个标题都有一个data-idx属性,其值是网格中唯一的数字。因此,如果您的IG区域具有静态ID“myRegion”,那么您可以添加如下所示的CSS来定位特定标头:

#myRegion_ig th[data-idx="2"] {
    background-color: #dff;
}

或者使页面上的所有IG标题都相同:

.a-GV-header {
    background-color: #dff;
}

答案 1 :(得分:0)

第一种方法有问题。它根据位置而不是特定列进行更改。例如,如果网格中的前两列是“名字”和“姓氏”,则按此顺序排列。 “名字”将是 data-idx = 1; “姓氏”将是 data-idx = 2。如果将蓝色分配给 data-idx = 1,将绿色分配给 data-idx = 2,那么“名字”将是蓝色,“姓氏”将是绿色。但是,如果您交换两列的位置,以便您的 IG 中的顺序是“姓氏”、“名字”,那么“姓氏”现在将为蓝色,而“名字”将为绿色。

如果您想将所有标题的颜色更改为仅一种颜色,则第二种方法有效。