概述
在ADF中经常会在View Accessor中使用“Row-level bind values exsit”,本文将通过一个简单的例子详细描述如何使用该功能。
需求
实现Master-Detail关系,Master中有一属性值来自于List of Value,而该List of Value选择的是该Master对应的Detail部分的数据。
实现
1、基于HR Schema中的Countries表与Locations表创建Entity Objects,View Objects,并新建Application Module,将View Objects的实例添加到Application Module的Data Model中。BC对象创建完成后如图:
2、为主View Object增加非数据库项StreetAddress,后面将在该项上添加List of Value。修改主View Object对应的SQL,即CountriesView中的SQL为:
3、在LocationsView中添加View Criteria,作为List of Value数据的过滤条件,这里设置CountryId = :bv_countryid,bv_countryid为String类型的绑定变量。
4、在CountriesView中添加View Accessor,将刚创建完成的View Criteria从“Available”面板添加到“Selected”,并勾选Row-level bind values exist,将bv_countryid与CountryId绑定。
5、为CountriesView的StreetAddress项添加List of Value,如图进行添加:
6、保存并运行该应用
本文转自Oracle Seeker:http://oracleseeker.com/2009/09/29/adf_row_level_bind/#