使用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

相关文章:

  1. af:query中实现关联LOV

1 response to 使用Row-Level值绑定

  1. 这个功能非常的实用,ADF实现了这样的功能真是强大

Leave a reply

You must be logged in to post a comment.