使用Row-Level值绑定
九月 29, 2009 in Oracle 融合中间件
概述
在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为:
1 2 3 4 5 6 | SELECT COUNTRIES.COUNTRY_ID, COUNTRIES.COUNTRY_NAME, COUNTRIES.REGION_ID, LOCATIONS.STREET_ADDRESS FROM COUNTRIES COUNTRIES, LOCATIONS LOCATIONS WHERE LOCATIONS.COUNTRY_ID = COUNTRIES.COUNTRY_ID |
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、保存并运行该应用
详细代码请查看:howtogetlovvalue.rar
相关文章:
aronezhang said on 九月 30, 2009
这个功能非常的实用,ADF实现了这样的功能真是强大