• Skip to primary navigation
  • Skip to main content

Tech Honey

The #1 Website for Oracle PL/SQL, OA Framework and HTML

  • Home
  • HTML
    • Tags in HTML
    • HTML Attributes
  • OA Framework
    • Item in OAF
    • Regions in OAF
    • General OAF Topics
  • Oracle
    • statement
    • function
    • clause
    • plsql
    • sql

advancedTable

Important Properties of Advanced Table

October 28, 2012 by techhoneyadmin

ID (mandatory) – You have to give an id to the advanced table region. This id will uniquely define the advanced table on that page.

View Instance (mandatory) – Enter the instance name of the VO on which your advanced table should be based.

Note: you cannot have two advanced table on the same page based on the same VO, until and unless the advanced tables that you are creating are view only and don’t have the capability of any type of form submission. The reason for this is that once a table action is perform on one table the corresponding VO state will be changed, hence changing the state of the other advanced table based on the same VO.

Text – you can specify any text that will appear on the top of the table.

Additional Text – you can specify any additional text that will appear once the table is rendered on the page.

Records Displayed – Now this is an important property, by default the value of this property is 10. Hence once your table has some, say 15 records to display then it will show only 10 records at once and to see the next 5 records you have to click on the “next” navigation link that comes by default on the top of the table. If you set the value to 15 the all the 15 records will be displayed at once on to the screen.

Width – This is another important property of the advanced table. Using this property you can set the width of the table on the OA Framework page once the page is displayed. Now, you can choose to enter the width of the advanced table in pixels or even in percentage. To enter the width of the table in pixels just enter a numeric value e.g. 500 or 600, once the page is displayed the width of the advanced table will be 500 or 600 pixels as entered by you. In order to enter the width of the table in percentage you just have to enter a value like 70% or 80%, now when the page is rendered the width of the table will be 70% or 80 % of the total page. Once you set the width of the table to 100% the “next” and “previous” navigation links will be displayed on top of the table. These navigation links allow to browse through other rows of the table.

Empty table text – you can define a text message that will appear if the table does not have any records to display. If nothing has been specified and the table has not been queried the “ No Search Conducted” will be displayed, but if a query has been conducted and no records were found then “No Data Exists” will be displayed.

Branding Type – Advanced table branding means that you can give a look to the table. OA Framework proved three options to brand the table.

  1. rowBranding
  2. columnBranding
  3. noBranding

By default “noBranding” option will be active.

Row Branding: Once you set the branding style in the property palette of advancedTable region and run the page, you will note that the alternative rows of the table are in grey bands of color. Even you have the option to choose the branding interval, by default the branding interval is 1 and hence alternative row is displayed in grey brand color, if you choose 2 as branding interval then the grey band row will appear after every 2 rows.

Column Branding: This is similar to row banding except that now rather that rows the columns of your advanced table will be in the grey band branding style.

No Branding: This is the default branding style that’s selected if you don’t choose other styles, in this style neither rows nor columns will be branded and all the rows and tables of the advanced table will be displayed as mentioned in Oracle BLAF.

Banding Interval – As discussed above this is the property to set the interval of the branding. By default the value will be 1.

Controller Class – If you want to have some runtime control on the advanced table then only you need to enter the controller class property for the table.

Admin Personalization – True if you want the admin to be able to personalize the region else false.

User Personalization – True if you want the user to be able to personalize the region else false.

Filed Under: Regions Tagged With: advancedTable, branding, OAAdvancedTableBean, properties of advancedTable, records displyed

Defining column and columnGroup in Advanced Table

October 28, 2012 by techhoneyadmin

The advancedTable is OA Framework has the option of making a column or columnGruoup as the table columns.
Both, column and columnGroup are container regions and also are indexed children of advancedTable region.

So, what’s the difference between column and columnGroup?

Column: You might have guessed by the name itself that when you define a column in an advanced table then a single column will be generated. The column thus generated is a webbean and can include another webbean of item style like messageStyledText or messageTextInput etc. Also the column has the following properties that can be set at declarative time like column format, column header etc.

In order to create a column just right click on the advancedTable region, select new and then click on column from the context menu.

ColumnGroup: As the name suggests that a columnGroup is a group of columns that can be displayed under one column header. The best part of the columnGroup is that you can create children columns under a columnGroup. These children columns are called as column span. Also one columnGroup can have another columnGroup which in turn can have column as children under it, the columnGroup encapsulates only the column header and the data of the column header and doesn’t encapsulates the columns or columnGroups under it.

In order to create a columnGroup just right click on the advancedTable region and choose new and select columnGroup from the context menu. As soon as you select columnGroup one child column will also be added to the columnGroup by default. Now if you want to add more column or columnGroup to the columnGroup just select the columnGroup and the right click select New and then click on column or columnGroup.

Filed Under: Regions Tagged With: advancedTable, column, columnGroup, OAAdvancedTableBean

Advanced Table events and their handling

October 28, 2012 by techhoneyadmin

An advancedTable is capable of HTTP Post opearation hence while creating an advancedTable be sure that it’s a recursive child of the pageLayout region and the “Form” property of the pageLayout region is set to “True”.

All the events generated by advancedTable are HTTP requests are can be caught and handled in processFormRequest method of the controller.

Some of the events of advancedTable can be summarized as below:

Navigation – Occurs when a user clicks on the “next” or “previous” link on the top of the table to navigate to other set of rows than that being currently displayed in the advancedtable region.

Sorting – Occurs when a user selects a highlighted column heading to sort that column in ascending or descending order.

Insertion of a new row – A very important event in advancedTable and it occurs once a user clicks the “Add Another Row” button.

Recalculate column Total – Another important event and this one occurs once a user selects the Recalculate button to update the column total.

Detail Disclosure – this event occurs once the user selects the Hide or Show link to collapse or expand the detail disclosure region.

All the events that get fired by advancedTable can be captured using the hidden fields that are UIX attributes in the UIConstants interface. These hidden fields are parameters that are set once an event is fired by advancedTable region.

The parameters can be summarized as:

SOURCE_PARAM: This parameter designates the event source, in other words, this is the parameter which tells the source from which an event has been fired or generated. It has the name attribute of the webbean that has produced the event.

To check whether the event has been generated by table just refer the lines below

if (tableBean.getName().equals(pageContext.getParameter(SOURCE_PARAM)))

{

….Your business logic to handle the condition

}

EVENT_PARAM: This is the parameter which tell that which event has been generated, the possible list of values that this parameter can have is:

  1. GOTO_EVENT– this is the value of the EVENT_PARAM when a user clicks on the “next” or “previous” link of the advancedTable.
  2. SORT_EVENT: as the name suggests that this value pertains to the event when a user clicks on a sort-able column for ascending or descending order of values.
  3. HIDE_EVENT: EVENT_PARAM attains this value when the “Hide” link of a detail disclosure is selected.
  4. SHOW_EVENT: EVENT_PARAM attains this value when the “Show” link of a detail disclosure is selected.
  5. ADD_ROWS_EVENT: once the user clicks on the “Add Another Row” button the EVENT_PARAM gets this value.
  6. UPDATE_EVENT: The pressing of “Recalculate” button generates this value.
  7. VALUE_PARAM: This is a different type of parameter which tracks the value relevant to a particular event. Let’s discuss this further.
    1. When a hide show in a detail disclosure is selected then this parameter has the value of the row index whose corresponding hide/show link was selected.
    2. When “next” or “previous” link on top of the advancedTable is selected then this parameter has the value of index of the first row that is currently being displayed on the screen e.g. suppose your advanced table displays 12 rows at once, now when the advancedTable region is loaded initially to display the first 12 rows then VALUE_PARAM has the value of 1. Once the next link is clicked and the advancedTable region displays rows from 13 to 24 (if available) then the VALUE_PARAM has the value of 13.

SIZE_PARAM: This parameter indicates the number of rows that are currently being displayed by the table. This parameter gets the value only in the case of navigation event and is applicable to navigation event only.

STATE_PARAM: This parameter is used to indicate the current sorted state of the column, hence applicable only for sort event.

A Small event handling example:

Suppose you want to check if the Add Another Row button has been clicked on the AdvancedTable then you just need to write a code similar to the one shown below:

if (advancedTableBean.getName().equals(pageContext.getParameter(SOURCE_PARAM)))

&& ADD_ROWS_EVENT.equals(pageContext.getParameter(EVENT_PARAM)))

{

.. Your business logic as per the requirement

}

Hope that you find this post to be informative…

Thanks for reading 🙂

Filed Under: Regions Tagged With: advanced table in oa framework, advanced table in oaf, advancedTable, advancedTable events, events in advancedTable, OAAdvancedTableBean

Copyright © 2025 · Parallax Pro on Genesis Framework · WordPress · Log in