7.1.6 Templates Comprising the Component

A template component always has a primary template called the Partial. This name evokes the role it plays as a part of the web page at runtime. Your Partial template includes the main markup that determines how the component's attributes appear on the page.

If you make your component available as a Multiple (Report) type region, then you can define additional templates:

  • Report Row wraps each row of data and includes the partial with #APEX$PARTIAL#
  • Report Group wraps each distinct group of rows and includes them with #APEX$ROWS#
  • Report Body wraps the current page of rows and includes them with #APEX$ROWS#
  • Report Container wraps the report body and includes it with #APEX$REPORT_BODY#

Consider a template component Grouped Name/Value Pairs that defines a report attribute TITLE, component attributes NAME and VALUE, group attributes named GROUPNAME and GROUPID, as well as a BUTTONS slot. The figure below shows how the different templates cooperate to produce the result on the right. The developer has configured the title, chosen DNAME and DEPTNO for the group name and id, used ENAME and SAL for the name and value attributes, and added a single (Process Selected Employees) button into the Buttons slot.

Figure 7-7 Templates Involved to Format a Multiple (Report) Component