CFFORMGROUP |
Description Creates a container control for multiple form controls. Used in the cfform tag body of Macromedia Flash and XML forms. Ignored in HTML forms.
Category Forms tags
Syntax
    <cfformgroup
       type = "group type"
       label = "label"
       style = "style specification"
       selectedIndex = "page number">
       width = "pixels"
       height = "pixels"
       enabled = "Yes" or "No"
       visible = "Yes" or "No"
       OnChange = "ActionScript expression"
       toolTip = "Tip text"
    ...ColdFusion forms controls
    </cfformgroup>
    or
    <cfformgroup
       type = "repeater"
       query = "query object"
    startrow = "row number"
    maxrows = "integer">
    ...ColdFusion forms controls
    </cfformgroup>
See also cfapplet, cfcalendar, cfform, cfformitem, cfgrid, cfinput, cfselect, cfslider, cftextarea, cftree, "Using the cfformgroup tag to structure forms" in Chapter 29, "Creating Forms in Macromedia Flash," and "Using cfformgroup tags" in Chapter 30, "Creating Skinnable XML Forms," in ColdFusion MX Developer's Guide.
History ColdFusion MX 7: Added this tag. The following table lists the attributes and their behavior in Flash forms. For XML, if not otherwise noted, the attribute is passed to the XML but is not interpreted by the basic XSL style sheet provided with ColdFusion MX.

Note: | Attributes that are not marked as supported in XML are not handled by the skins provided with ColdFusion MX. They are, however, included in the generated XML

Usage This tag requires an end tag. This tag is ignored if the cfform type is HTML; any tag body's contents are interpreted as if the surrounding cfformgroup does not exist. In Flash format forms, this tag organizes the contents of the form. It groups and arranges child tags. The body of this tag can contain the following tags; all other tags and text are ignored:

- cfformgroup
- cfformitem
- cfcalendar
- cfgrid
- cfinput
- cfselect
- cftextarea
- cftree

For more information on using this tag in Flash forms, see Chapter 29, "Creating Forms in Macromedia Flash" in ColdFusion MX Developer's Guide.

In XML format, ColdFusion passes the tag and its attributes to the XML; it is the responsibility of the skin XSLT to handle the XML. The ColdFusion basic skin supports the horizontal, vertical, and dualselectlist styles only. For more information on using this tag in XML forms, see Chapter 29, "Creating Forms in Macromedia Flash" in ColdFusion MX Developer's Guide.

Example For a simple example of an XML form that uses a single cfformgroup tag, see cfform. The following example shows how to use the cfformgroup tag to arrange elements on a Flash form. It creates an hdividedbox container that has a vbox container on each side. The left box has heading text and two radio buttons. The right box has heading text and three check boxes.
    <h3>Simple cfformgroup Example</h3>
    <cfform name="myform" height="450" width="500" format="Flash" >
       <cfformgroup type="hdividedbox" >
          <cfformgroup type="VBox">
             <cfformitem type="text" height="20">
                Pets:
             </cfformitem>
             <cfinput type="Radio" name="pets" label="Dogs" value="Dogs"
                checked>
             <cfinput type="Radio" name="pets" label="Cats" value="Cats">
          </cfformgroup>

          <cfformgroup type="VBox">
             <cfformitem type="text" height="20">
                Fruits:
             </cfformitem>
             <cfinput type = "Checkbox" name="chk1" Label="Apples"
                value="Apples">
             <cfinput type="Checkbox" name="chk2" Label="Bananas"
                value="Bananas">
             <cfinput type="Checkbox" name="chk3" Label="Pears"
                value="Pears">
          </cfformgroup>
       </cfformgroup>
    </cfform>
The following more complex example shows more fully how you can use cfformgroup tags to arrange controls in a Flash form. It also shows many of the text formatting features that you can use in a text cfformgroup body. When you submit the form, the page dumps the contents of the Forms scope, to show you the submitted data.
    <h2>cfformgroup Example</h2>
    <cfif IsDefined("form.oncethrough")>
       <h3>The form submitted the following information to ColdFusion MX:</h3>
       <cfdump var="#form#"><br><br><br>
    </cfif>

    <h3>A Flash form using cfformgroup tags</h3>
    <cfform name="myform" height="450" width="500" format="Flash">

    <!--- The following formgroup shows how you can present formatted text. --->
       <cfformitem type="html">
          <b><font color="#FF0000" size="+4" face="serif">
          This form has two tabs, asking for the following:</font></b><br>
          <li>contact information</li>
          <li><i>preferences</i></li>
          <b>Try entering information on both tabs</b><br>
          Submit the form and see what ColdFusion gets in the Forms scope.</b><br>
          <a href="http://www.macromedia.com/" target="_blank">
          <font color="#0000FF"><u>
          This link displays the Macromedia home page in a new browser window
          </u></font></a><br>
          &nbsp;<br>
       </cfformitem>

    <!--- Use a tabnavigator with two tabs for user input. --->
       <cfformgroup type="tabnavigator" height="220">
          <cfformgroup type="page" label="Contact Information">
             <!--- Align the first and last name fields horizontally --->
             <cfformgroup type="horizontal" label="Your Name">
                <cfinput type="text" required="Yes" name="firstName" label="First"
                   value="" width="100"/>
                <cfinput type="text" required="Yes" name="lastName" label="Last"
                   value="" width="100"/>
             </cfformgroup>
             <cfformitem type="html"><textformat indent="95"><font size="-2">
                Flash fills the email field in automatically.
                You can replace any of the text.
                </font></textformat>
             </cfformitem>
             <!--- The bind attribute gets the field contents from the firstname
                   and lastName fields as they get filled in. --->
             <cfinput type="text" name="email" label="email"
                bind="{firstName.text}.{lastName.text}@mm.com">

             <cfinput type="text" name="phone" validate="telephone" required="Yes"
                label="Phone Number">
          </cfformgroup>

          <cfformgroup type="page" label="Preferences">
             <cfformitem type="text" height="30">
                <b>Tell us your preferences</b>
             </cfformitem>
             <!--- Put the pet selectors to the left of the fruit selectors. --->
             <cfformgroup type="hbox">
             <!--- Group the pet selector box contents, aligned vertically. --->
                <cfformgroup type="vbox">
                   <cfformitem type="text" height="20">
                      Pets:
                   </cfformitem>
                   <cfformgroup type="vertical">
                      <cfinput type="Radio" name="pets" label="Dogs" value="Dogs"
                         checked>
                      <cfinput type="Radio" name="pets" label="Cats" value="Cats">
                   </cfformgroup>
                </cfformgroup>
             <!--- Group the fruit selector box contents, aligned vertically. --->
                <cfformgroup type="vbox">
                   <cfformitem type="text" height="20">
                      Fruits:
                   </cfformitem>
                   <cfformgroup type="tile" width="200" label="Tile box">
                      <--- Flash requires unique names for all controls --->
                      <cfinput type = "Checkbox" name="chk1" Label="Apples"
                         value="Apples">
                      <cfinput type="Checkbox" name="chk2" Label="Bananas"
                         value="Bananas">
                      <cfinput type="Checkbox" name="chk3" Label="Pears"
                         value="Pears">
                      <cfinput type="Checkbox" name="chk4" Label="Oranges"
                         value="Oranges">
                      <cfinput type="Checkbox" name="chk5" Label="Grapes"
                         value="Grapes">
                      <cfinput type="Checkbox" name="chk6" Label="Cumquats"
                         value="Cumquats">
                   </cfformgroup>
                </cfformgroup>
             </cfformgroup>
          </cfformgroup>
       </cfformgroup>

       <cfformgroup type="horizontal">
          <cfinput type = "submit" name="submit" width="100" value = "Show Results">
          <cfinput type = "reset" name="reset" width="100" value = "Reset Fields">
          <cfinput type = "hidden" name="oncethrough" value = "Yes">
       </cfformgroup>
    </cfform>

TYPE |
| Required;
| Flash and XML

QUERY |
| Required for type= repeater, ignored otherwise;
| Flash
The query to use with the repeater. Flash creates an instance of each of the cfformgroup tag's child tags for each row in the query. You can use the bind attribute in the child tags to use data from the query row for the instance.

STARTROW |
| Optional;
| Flash
Default value: "0"
| Used only for the repeater type; ignored otherwise.
Specifies the row number of the first row of the query to use in the Flash form repeater. This attribute is zero-based: the first row is row 0, not row 1 (as in most ColdFusion tags).

MAXROWS |
| Optional;
| Flash
| Used only for the repeater type; ignored otherwise.
Specifies the maximum number of query rows to use in the Flash form repeater. If the query has more rows than the sum of the startrow attribute and this value, the repeater does not use the remaining rows.

LABEL |
| Optional;
| Flash and XML
Label to apply to the form group. In Flash, does the following:

- For a page or panel form group, determines the label to put on the corresponding accordion pleat, the tabnavigator tab, or the panel title bar. For a Flash horizontal or vertical form group, specifies the label to put to the left of the group.
- Ignored in Flash for repeater, hbox, hdividedbox, vbox, vdividedbox, tile, accordion, and tabnavigator types.

STYLE |
| Optional;
| Flash and XML
Default value: "Flash: A Flash style specification in CSS format. For detailed information on specifying Flash styles, see Chapter 29, "Creating Forms in Macromedia Flash" in ColdFusion MX Developer's Guide." Default value: "XML: An inline CSS style specification."

SELECTEDINDEX |
| Optional;
| Flash only
Default value: "Used only for accordion and tabnavigator types; ignored otherwise. Specifies the page control to display as open, where 0 (not 1) specifies the first page control defined in the group."

WIDTH |
| Optional;
| Flash and XML
Default value: "Width of the group container, in pixels. If you omit this attribute, Flash automatically sizes the container width. Ignored for Flash repeater type."

HEIGHT |
| Optional;
| Flash
Default value: "Height of the group container, in pixels. If you omit this attribute, Flash automatically sizes the container height. Ignored for Flash repeater type."

ENABLED |
| Optional;
| Flash
Default value: "Yes" Default value: "Boolean value specifying whether the controls in the form group are enabled. Disabled controls appear in light gray."

VISIBLE |
| Optional;
| Flash
Default value: "Yes" Default value: "Boolean value specifying whether the controls in the form group are visible. If the controls are invisible, the space that would be occupied by visible controls is blank."

ONCHANGE |
| Optional;
| Flash
Default value: "Tabnavigator and accordion types only: ActionScript expression or expressions to execute when a new tab or accordion page is selected. " Default value: "Note: The onChange event occurs when the form first appears."

TOOLTIP |
| Optional;
| Flash
Default value: "Text to display when the mouse pointer hovers in the form group area. If a control in the form group also specifies a tooltip, Flash displays the control's tooltip when the mouse pointer hovers over the control."