EBS OAF开发DataBoundValues的使用示例-动态显示表列的左右对齐

本文介绍如何在EBS OAF中利用DataBoundValues实现表列内容的动态水平对齐。通过示例展示了当数值达到特定条件时,列内容会自动变为右对齐或左对齐。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

EBS OAF开发DataBoundValues的使用示例-动态显示表列的左右对齐

(版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处;否则请与本人联系,违者必究)

在OAF中除了Required, Rendered,Disabled, 和 Read Only这些属性可以通过属性面板用SPEL语言来进行声明式实现,其它的属性比如水平对齐,换行或者其它的任意属性都不能进行声明式实现,都必须通过DataBoundValue来绑定特定的属性,然后可以动态设置。

这里以如何实现水平对齐为例演示最简单的左右对齐的动态显示,效果如下,这里Employee Name中如果Number大于等于5就是右对齐,否则就是左对齐:


1.      首先,先在VO中添加一列,根据其Employee_ID的值来动态设置它的值,如果大于等于5,其值就是right, 否则其值就是left,而这个值我们会用来绑定到Employee Name的水平对齐属性,所以其值只能是我们的right和left,更复杂的逻辑可以在VO的executeQuery()中或其它的事件中做更复杂的处理。


2.      原先的列为messageStyledText类型,并没有水平对齐属性,所以这里要在messageStyledText列外面加一个rowLayout类型的region,这样就可以使用水平对齐属性,结构如下:


3.      在页面上的控制器的processRequest中,通过OADataBoundValueViewObject把上面VO中的Halign属性绑定到上面rowLayout的右对齐属性。代码如下:

  public void processRequest(OAPageContextpageContext, OAWebBean webBean)
  {
    OARowLayoutBean rowLayoutBean =(OARowLayoutBean)webBean.findIndexedChildRecursive("region1");
    if(rowLayoutBean != null)

    {
       rowLayoutBean.setAttributeValue(UIConstants.H_ALIGN_ATTR,newOADataBoundValueViewObject(rowLayoutBean, "Halign"));
    }
  }

4.      保存修改,运行之后的效果就像上面显示的。



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值