Regons inside another region is called Child Region and that is present in the same level as another region it is a Sibling.
Region properties can be set like Style,ID,Rendered etc. There are small restrictions while creating the region which will affect the way the regions and items will be displayed in the page.
Few commonly used regions styles:
pageLayout Region
PageLayout region is the highest level layout. By default this the top most region for every page. Any numbe regions can be created under the pagelayout region. The java bean associated with this region is OAPageLayoutBean.Bean: oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean
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(deprecated) and DefaultDoubleColumn(deprecated).also see: Message Component Layout Region
header Region
In oracle application framework page we create an OAF Header region to give separate title of the page to give the information of the page functionality to the user.By using Header region, page content and the header region gets seperated/partitioned for more clear information display.Header region is also used for some important message display on the Oracle application framework page like Error, Warnig, Information, etc at the top of the page.
By use of Header region, the page level action buttons/links will be displayed both at the top of the page and the bottom of the OAF page.
Note: Header element does not support styleClass attribute.
Corresponding web bean: OAHeaderBean
see also: Header Region
query Bean
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.Bean: oracle.apps.fnd.framework.webui.beans.layout.OADefaultHideShowBean
switcher Region
The switcher region is used at runtime to decide which item needs to be rendered. It is always bound to an attribute in VO. A view instance and view attribute is specified with switcher. The java bean associated is OASwitcherBean.defaultSingleColumn Region:
The defaultSingleColumn as the name suggest is used for holding the items in a single column.
Bean:oracle.apps.fnd.framework.webui.beans.layout. OADefaultSingleColumnBean
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):
Bean: oracle.apps.fnd.framework.webui.beans.layout.OADefaultDoubleColumnBean
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.Bean: oracle.apps.fnd.framework.webui.beans.nav.OAPageButtonBarBean
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:- 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.
Rowlayout
see also: http://newtonapples.com/row-layout-region/
table Region
Table region is used to display data in tabular form. It also supports other functionalities such as single/multiple selection, sorting..Bean: oracle.apps.fnd.framework.webui.beans.table.OATableBean
flowLayout Region
When you want to display table actions for a table or advancedTable you can create a flowLayout. Mainly it is for buttons we use this layout. The java bean associated is OAFlowLayoutBean.hGrid Region
This region is used when we want to display information in hierarchial structure.Bean: oracle.apps.fnd.framework.webui.beans.table.OAHGridBean
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.
Bean: oracle.apps.fnd.framework.webui.beans.nav.OATrainBean
AdvancedTable Region
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:
Bean: oracle.apps.fnd.framework.webui.beans.layout.OAContentContainerBean
pageButtonBar Region
In the Page Button Bar region the items what we placed under it we can see in top and bottom of the pages. It means this region is helpful if we scroll down to the page and we need to click on some button to perform certain action then we can create those items under Page Button Bar region.
The items inside Page Button Bar works just like in our mail accounts generally if we open a mail then we can delete that mail by clicking on Delete button and if we observe in most accounts Delete button is available on top of the mail and even bottom.
see also: http://newtonapples.com/page-button-bar/
Understanding Query Regions
When you add a query region to a pageLayout region, OA Framework automatically generates an oracle.apps.fnd.framework.webui.beans.layout.OAQueryBean which, depending on its configuration, works in concert with a child table, advanced table or HGrid to implement any combination of simple search, advanced search and view panels. OA Framework automatically generates buttons as appropriate for toggling between the applicable regions.
Construction Modes:
There are three construction modes available. In the above example we have used ‘resultBasedSearch’ construction mode. Here is a brief comparison of the three modes.
1] resultsBasedSearch:
- OA Framework automatically renders both the Simple and Advanced search regions based on the designated queryable items in the associated table.
- The search regions automatically include both a Go and a Clear button.
- OA Framework automatically executes the underlying search when the user selects the Go button.
2] autoCustomizationCriteria:
- OA Framework automatically renders both the Simple and Advanced search regions based on the corresponding Simple search and Advanced search regions that you define and specify as named children of the query region.
- The search regions automatically include a Go button. In addition, the Advanced search region includes a Clear button.
- OA Framework automatically executes the underlying search when the user selects the Go button. However, developers must explicitly define mappings between items in the Search panel and items in the table region.
3] none
- The Search regions are rendered based on the Simple Search and Advanced Search regions that you define and specify as named children of the query region.
- You must implement your own Go button in this mode.
- The underlying search must be executed by the developer.