gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 07:24:23 25 4
gpt4 key购买 nike

我从我的数据控件中生成了一个 ADF 表。但我需要更改我的支持 bean 中每个单元格的样式。我真的无法在谷歌上找到任何有用的东西,希望你能为我提供一些有用的信息。

最佳答案

你能说得更具体一点吗?哪个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 中,您可以从表所在的页面访问它

    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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com