java - 如何以编程方式更改 ADF 表格中的样式

标签 java jdeveloper

我从我的数据控件中生成了一个 ADF 表。 但我需要更改支持 bean 中每个单元格的样式。 我在google上确实找不到任何有用的信息,希望您能给我提供一些有用的信息。

最佳答案

能说得具体一点吗?哪个 jdev 版本?如果您需要更改每个单元格为什么不使用皮肤?

根据评论,我们现在知道您使用 jdev 11.1.2.2.0。 您可以做的是将表的 styleClass 属性绑定(bind)到支持 bean 属性。 bean 中的属性有一个 getter 和一个 setter 方法。在 setter 方法中,您可以从行中获取所需的所有值并进行计算。根据结果​​,您返回适合单元格的样式类的名称。您在应用程序的外观中定义的不同样式类。 如果你例如在您的皮肤中定义以下样式类

.high_value { background-color:green; }
.negative_value { background-color:red;}

以及在请求范围内的 bean 中,您可以从表所在的页面访问该 bean

    private String styleForCell;

public String getStyleForCell()
{
    // get the value of the cell
    FacesContext lContext = FacesContext.getCurrentInstance();
    ELContext lELContext = lContext.getELContext();
    ExpressionFactory lExpressionFactory = lContext.getApplication().getExpressionFactory();
    Number val;
    val = (Number) lExpressionFactory.createValueExpression(lELContext, "#{row.valargument}", Object.class).getValue(lELContext);
    if (val == null)
        return "";

    // do the calculation and return the suitable style class
    int ival = val.intValue();
    if (ival >= 100000 )
        return "high_value";
    else if (ival < 0)
        return "negative_value";
    else 
        return "";         
}

public void setStyleForCell(String aStyleForCell)
{
    this.styleForCell = aStyleForCell;
}

现在您可以从表列 styleClass 属性访问计算的样式类,如 #{beanname.styleForCell} 这将为该列的每个单元格调用该方法。

关于java - 如何以编程方式更改 ADF 表格中的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11500371/

相关文章:

java - ImmutablePair 和 Pair 编译错误在反编译类中工作

java - Spring Batch writer 从下一行追加数据

java - 使用java在树中添加多个子节点

java - Oracle ADF 输入表单,以空开始

javascript - 单击 amx 中的按钮时更改整个背景颜色

java - Oracle JDeveloper 12C 和集成 Weblogic Server 未运行 Windows 10

java - weblogic服务器Web服务的测试页与wsdl不同

java - onActivityResult 在 `finish()` -ing 被调用的 Activity 之后未被调用

Java导入包错误

java - 如何使用 JDeveloper 使我的 java 应用程序可执行