OAF_开发系列11_实现OAF通过DataBoundValues动态显示表列的左右对齐

20150712 Created By BaoXinjian

一、摘要


在OAF中除了Required, Rendered,Disabled, 和 Read Only这些属性可以通过属性面板用SPEL语言来进行声明式实现。

其它的属性比如水平对齐,换行或者其它的任意属性都不能进行声明式实现,都必须通过DataBoundValue来绑定特定的属性,然后可以动态设置。

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

 

二、实现分析


Step1. 先在VO中添加一列,根据其Employee_ID的值来动态设置它的值,如果大于等于5,其值就是right, 否则其值就是left.

而这个值我们会用来绑定到Employee Name的水平对齐属性,所以其值只能是我们的right和left,更复杂的逻辑可以在VO的executeQuery()中或其它的事件中做更复杂的处理。


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

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

三、运行测试


1

Thanks and Regards

参考:Tavor - http://blog.csdn.net/tavor/article/details/19507665

原文地址:https://www.cnblogs.com/eastsea/p/4618505.html