JDeveloper 11.1.1.2.0
Oracle 10g EE
1. 在ViewController端页面的PageDef.xml文件中添加对应字段的绑定
类型为Button,选择对应的AM,VO,字段名称,如果该字段具有LOV,不需要选择对应LOV而保留None即可。在Selected State Value中填写勾选时需要的值,Unselected State Value中选择飞勾选状态时的值
后将界面控件通过el表达式关联至该绑定即可。通常将属性由Application Navigator中拖动入界面时会自动完成该绑定添加的过程。
2. 遵
循MVC的原则,修改VO对应字段的get/set方法,将ViewController返回的true/false转换为需要的字符。具体做法为在对应
VO属性中的Java页生成Java文件,只需勾选Generate View Row Class并勾选Include
accessors,后再修改生成的Java文件中对应字段的get/set方法即可。
情
况在RichTable等Collection Component中有所不同。不同于界面上其他控件的属性绑定方式,ADF
RichTable等Collection
Component通常绑定文件中为tree类型,而控件则使用el表达式访问该tree的collectionModel或treeModel
况在RichTable等Collection Component中有所不同。不同于界面上其他控件的属性绑定方式,ADF
RichTable等Collection
Component通常绑定文件中为tree类型,而控件则使用el表达式访问该tree的collectionModel或treeModel
ADF中使用将tree类型绑定中的树形绑定入另一button类型绑定,并在该button类型绑定中设置Selected/Unselected值的方式完成值的转换。具体内容如下:
1. 在PageDef.xml中添加tree类型并包含目标字段,添加button类型的绑定,映射至VO对应字段。
2. 设置button类型绑定的Selected/Unselected等属性
3. 点击编辑器左下角进入Source模式,找到tree类型绑定的代码,形如
<tree IterBinding="XXXXX" id="XXXXX"> <nodeDefinition DefName="XXXXX" Name="XXXXX"> <AttrNames> <Item Value="XXXXX"/> <Item Value="XXXXX"/> <Item Value="XXXXX"/> </AttrNames> </nodeDefinition> </tree> |
<tree IterBinding="XXXXX" id="XXXXX"> <nodeDefinition DefName="XXXXX" Name="XXXXX"> <AttrNames> <Item Value="XXXXX"/> <Item Value="XXXXX"/> <Item Value="EnabledFlag" Binds="EnabledFlag"/> </AttrNames> </nodeDefinition> </tree> |
如
此便完成了RichTable等CollectionComponent中checkbox的设置。需要注意的是通常这些设置在开发者将
Application
Navigator中的属性拖入界面RichTable中并选择展现为CheckBox时会自动完成,但在某些特定情况下,如该VO中目标属性具有LOV
时,由于IDE本身的BUG(?)导致上述Binds="XXX"及button类型的绑定没有自动生成,则需要手工修正绑定以达到所需效果。
此便完成了RichTable等CollectionComponent中checkbox的设置。需要注意的是通常这些设置在开发者将
Application
Navigator中的属性拖入界面RichTable中并选择展现为CheckBox时会自动完成,但在某些特定情况下,如该VO中目标属性具有LOV
时,由于IDE本身的BUG(?)导致上述Binds="XXX"及button类型的绑定没有自动生成,则需要手工修正绑定以达到所需效果。