The view part in OAF consist of pages which in turn contains regions and items.
Regions act as containers for different items and there can be multiple regions inside one region. These are mainly used to organize the contents of pages.
In OAF, every item and region is a java bean.
OA Framework offers lots of regions which helps in building the application easier. I am just providing a brief description of some of these regions:
OA Framework offers lots of regions which helps in building the application easier. I am just providing a brief description of some of these regions:
PageLayout Region
By default this is the top most region for any OAF page. We can create any number of regions/items as children of this region. It provides some common functionalities to all pages like footer (privacy & copyright links), root AM, window title, title, function name etc..
Bean: oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean
DefaultSingleColumn Region
This region is used for holding items in single column. Suppose we added 4 items inside this region, then all these item appear in one single column as shown below:
Bean: oracle.apps.fnd.framework.webui.beans.layout.OADefaultSingleColumnBean
DefaultDoubleColumn Region
DefaultDoubleColumn Region
OAF DefaultDoubleColumn region is used to hold items in two columns. Prompt of items will be right justified and the input fields will be left justified.
For example as shown below, six items are added under this region which appears in two columns (3 items in each):
For example as shown below, six items are added under this region which appears in two columns (3 items in each):
Bean: oracle.apps.fnd.framework.webui.beans.layout.OADefaultDoubleColumnBean
MessageComponentLayout Region
It serves the multiple column display of components in an OAF page and also satisfies the standard UI guidelines. messageComponentLayout region set Rows =x and columns =y in property inspector. Now this is used instead of DefaultSingleColumn and DefaultDoubleColumn.
TableLayout, RowLayout, CellFormat Region
We can create our items using messageComponentLayout region by setting number of rows and columns. However if that doesn't satisfy our requirement, then we can use tableLayout region and can place the items manually as we want. It provides 2 regions (rowLayout & cellFormat) using which we can have different number of columns for each row. All together, these 3 regions work as follows:
We can create our items using messageComponentLayout region by setting number of rows and columns. However if that doesn't satisfy our requirement, then we can use tableLayout region and can place the items manually as we want. It provides 2 regions (rowLayout & cellFormat) using which we can have different number of columns for each row. All together, these 3 regions work as follows:
- TableLayout can contain multiple rowLayout, each corresponding to a row.
- RowLayout contains multiple cellFormat, each corresponding to a column.
- Finally, inside cellFormat region, we can add different items.
When we want to perform a search on a page, instead of creating different items for criteria fields and serch button, we can use query region. It provides built in functionality such as search panel ,advanced search panel and Views Panel as shown below:
Bean: oracle.apps.fnd.framework.webui.beans.layout.OAQueryBean
HideShow Region
Using this region, we can show or hide regions or items which are inside this region. Also we can set default as hidden or shown on page load.
PageButtonBar Region
If we want to show some items at pagelayout level, we can use pageButtonBar region as direct child of pageLayout region. Items under this region will be displayed at bottom as well as at top of the page.
Table Region
Table region is used to display data in tabular form. It also supports other functionalities such as single/multiple selection, sorting..
Advanced table extends the functionality of simple table region. It provides declarative support for these functionalities for which we to write code if using simple table region. Advanced table has many rich features, some of which can be like a table can now have an instruction text and even a tip, also table can have a navigation bar, selection column, add rows button, control bar, recalculate and many more.
Bean: oracle.apps.fnd.framework.webui.beans.table.OAAdvancedTableBean
ContentContainer Region
This region has some special properties which differentiates it from other regions. It can have different background color which can be set using shade property. It can have border all around so that it can be easily identified as separate region as shown below:
FlowLayout Region
When we want to associate an item (mainly a button) with table or advanced table, we can create a flowLayout region. This is much easier than using tableLayout/rowLayout/cellFormat regions for performing this task.
Bean: oracle.apps.fnd.framework.webui.beans.layout.OAFlowLayoutBean
Switcher Region
When we want to associate an item (mainly a button) with table or advanced table, we can create a flowLayout region. This is much easier than using tableLayout/rowLayout/cellFormat regions for performing this task.
Bean: oracle.apps.fnd.framework.webui.beans.layout.OAFlowLayoutBean
Switcher Region
Switcher region is used to dynamically switch between the items displyed in a region. It is similar to CASE statement used in programming languages. For example, using this we can show an item on one condition and hide/disable the same on another condition.
Bean: oracle.apps.fnd.framework.webui.beans.OASwitcherBean
Train Region
Suppose we have a scenario where to complete one transaction we have to navigate multiple pages such as step1, step2...
Here we can use train region which provides built in functionality for showing different stages of transaction and highlight active page.
hGrid Region
This region is used when we want to display information in hierarchial structure.
Bean: oracle.apps.fnd.framework.webui.beans.table.OAHGridBean
Hi,
ReplyDeleteDo you think its possible to do the same but in reverse? From OAF Region to ADF Application.
Regards
is it possible to have multiple column layout instead of single or double column??
ReplyDeletethank u very much
ReplyDelete