detailsForm

Description: A form for showing the row details for a given parent grid. Supports:

  • Tabindex generation: In the right order. Can/Should be accessed in your own HTML components, through JSP Expression Language.
  • Error validation client and server with interactive visual error listing (Client-side validation is still IN DEVELOPMENT!!!).
  • Integrates with DIF's client event logic (with the @OnSubmit in stages)
  • Layout: Free, Pool and Tabular
  • Automatic Grid data binding for viewing and changing data
  • Default submission/reset buttons
  • etc.

JavaDoc: Click here

Remarks: The @OnSubmit event handlers are not used in this forms. They will be binded in Javascript to the grid's client datastore and call any event handlers defined.

Body content: JSP context.

Attributes:

Name Description Data type Required Default value
name The name (identifier) of the form String No Generated one in the form "formX" where X is the sequential number of forms on the current page
bindToGridID The ID for the grid that this DetailsForm will bind to, when used outside of a grid component. String No If a parent Grid component exists will always bind to it, even is this is set otherwise
title The label for the form. Will create a field set for this String No -
cssClass An optional CSS class to apply to the panel body. String No -
formPosition The position of the form regarding the parent Grid ("bottom", "right" or "window"). String No "right"
layout Inner Fields layout. See bellow. String No Pool layout
border Creates a default fieldset element Boolean No True if a title has been defined, False otherwise
insert This form should be used for insert operations Boolean No False
update This form should be used for update operations Boolean No False
height The height of the window (not applicable to panel details) Integer No -
width The width of the panel/window Integer No -
startVisible If the panel should start visible (not applicable to window details) Boolean No False
hideAfterSave If the panel should hide after save action (not applicable to window details) Boolean No True
hideGridColumns The list of comma separated column IDs to hide on panel open (not applicable to window details) String No -
autoComplete Enable autocomplete of the inner inputs (for safety purposes sometimes it should be disabled). Boolean No True
clientValidation Will validate submission errors in the client browser, with generated Javascript. IN DEVELOPMENT!!! Boolean No False
labelWidth A custom width for all enclosed labels Integer No As defined by the CSS in use
helpCategory The help category for all inner help items String No The title or name of the form
renderFootnotes Defines if footnotes are rendered on the element. Boolean No True
confirmation Displays a default message to confirm the form submit Boolean No False, unless confirmationMessage is set
confirmationMessage Custom message for the confirmation message String No -
noRequiredIndicator Disable required(*) simbol and required footnote Boolean No False

Examples:

<dif:document>
        <dif:form name="login">
        <dif:fieldset title="${messages.pageHeading}">
            <input name="afterloginstageid" type="hidden" value="${stage.afterLoginStageID}" />
            <dif:textField id="_user" />
            <dif:textField id="_pass" confidential="true" />
        </dif:fieldset>
        <input type="submit" name="${messages.submit}" />
    </dif:form>
    ...
</dif:document>

Layout values: Available layouts:

  • free: No layout defined. The developer will provide HTML code involving the inner tags.
  • pool: Pool layout. One label and it's field bellow. Each field bellow the previous one. Perfect for minimal width interfaces (hence the name pool) or sequential field forms.
  • tabular: The classical tabular layout. Labels on the left side, fields on the right side. The more traditional layout in web forms. Good choice for large input fields while maintaining a low page space usage as possible.
  • twocol: Similar to the pool layout, but divided in two columns of label/input pairs. It's the default and should be the option that uses less space altogether.

See also:

Back to tag reference