Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Introduction

English

Form Grid extends the default functionalities of a typical grid element.

Unlike the generic grid element that only accepts standard text field for its inputs, the Enhanced Grid Form Element captures data by making reference to another form element.

Hence, one can take full advantage of what a typical form element has to offer, e.g., validation and formatting.

The Form Grid is only available on Professional and Enterprise Edition.

Get Started

The easiest way to see how the Form Grid works is to use the existing built-in App Expenses Claims and create a new form to mimic an existing form in the app. Here are the steps:

  1. Start the Joget Server and open the App Center.

  2. Log in as admin and click on the pencil icon on the Expenses Claim to open the Design App . Composer (see Figure 1).
    Image Removed
     Image Added
    Figure 1

  3. Under FORMS Form Builder column, click on Expense Claim Form (see Figure 2)


    Figure 2

  4. Drag and drop the  Form Grid element onto the canvas.

  5. Click on the FormGrid Form Grid element on the canvas to canvas to open up the Edit Configure Form Grid properties.

  6. Fill up the Configure Form Grid  properties as follows and click on   OK  Apply Change (see Figure 3):
    1. ID:  entries
    2. Form:  Expense Claim Entry
    3. Columns : 

      Field ID*

      Label

      Format Type

      dateDateDate
      categoryCategory
      purposePurpose
      amountAmountDecimal

    Image AddedImage Removed
    Figure 3

  7. Click on  Preview to open up the Preview tab, click on the plus sign on the Form Grid and it will open up a popup displaying the Form that it was referred to. (see Figure 4)


    Figure 4

  8. Open up Expense Claim Entry and note the Field ID's are the same as written in the Edit Form Grid. This is how the Form Grid displays the data from said target form . (see Figure 5).
    Image Removed
    Image Added
    Figure 5

Form Grid Properties

...

Configure Form Grid

Image RemovedImage Added

NameDescription
Label

Element Label to be displayed to the end-user.

ID

Element ID (By declaring as "entries", a corresponding database table column "c_entries" will be created)

Please see Form Element for more information about defining the ID and the list of reserved IDs.

Label

Element Label to be displayed to the end-user.FormTarget form to refer to.
Columns

The columns defined here must be correspondent correspond to the Form chosen above.

NameDescription
Value
Field ID*

Field ID of the form element to refer to the target form.

Panel
borderColorblue
borderWidth1
titleBGColor#ddffcc
borderStylesolid

Example:

In "HR Expense Claim Entry" form, there are Form Elements with the ID "date", "category", "purpose", and "formattedAmount".

LabelColumn Label.
Format Type

If you would like to format the returned value, you may make use of the format type.

Default choice: Text.

Available Format Types

  • Text - formats the value as text
  • HTML - outputs data as HTML
  • Multiple lines text - maintains the spacing formatting for multiple lines of text, such as TextArea.
  • Decimal - formats as a decimal. The number of decimals is expected in the "Format" field.
  • Date - formats as a date. Original Date and New Date formats are expected in the "Format" field.

    Panel
    borderColorblue
    borderWidth1
    titleBGColor#ddffcc
    borderStylesolid

    Format: (original format)|(new format)

    Example of usage:
    Original value:
    5/23/2012
    Expected value: 2012/5/23
    Format :
    M/d/y|y/M/d

    Note: Please refer to Java SimpleDateFormat for the date format.

  • File - Show the value as a link to the attachment. Form ID is expected in the "Format" field.

    Info
    titleImportant Infomation
    1. Specify the Form ID that contains the actual File Upload form element.
    2. Make sure that you use Multirow Form
Binder
    1. Data Store as the Load
Binder
    1. Data Store.
    2. The file will be downloaded as an attachment and do NOT actually follow the properties set at the target form's File Upload properties.
  • Image - Show the value as a thumbnail of the attachment. Form ID is expected in the "Format" field.

    Info
    titleExpected Form ID

    Specify the Form ID that contains the actual Image Upload / File Upload form element.

  • Options - Show the label of a multiple-choice element given the value given. Form ID is expected in the "Format" field.

    Info
    titleExpected Form ID

    Specify the Form ID that contains the actual Select Box / Radio / CheckBox form element.

FormatDepending on your chosen Format Type, an additional argument may be entered here.
Width

Column width in characters.

Code Block
titleSample
200px

UI

Sorting

Image RemovedImage Added

NameDescription
Enable Sorting Feature

Determines if the ordering of rows is to be enforced.

The property fields "Enable Sorting Feature" and "Field ID for Sorting" stores the form grid record row sequence, meaning it records which ID sits in row 1, row 2, and so on and rearranges it back in this same ascending sequence on load

binder

Data Store.

If you are using this property, key in a unique field ID in the "Field ID for Sorting" property. This field ID must *not* be an existing field in your form

which

that you use for your form data. Typically we use the field ID "sort" and Joget will automatically create this column in your database table (Do not use the field ID "sort" anywhere else in your form).

If you need automatic sorting on another column value when loading the form grid/spreadsheet, use Load Grid Data with Custom Sorting and Filtering or Database SQL Query with the "ORDER BY ASC" SQL statement.

Field ID for Sorting

Field to keep the ordering sequence; must correspond with a field id (i.e. hidden field) to keep the sequence number (i.e. 0,1,2,3,4) in the target form.

Warning

This field ID must *not* be an existing field in your form that you use for your form data. Potential result in data loss if you use the existing column.


Form

NameDescription
Form Submit Button Label (Normal Mode)The label of the Submit button is in normal mode.
Form Submit Button Label (Readonly Mode)

The label of the Submit button is in read-only mode.

Display field as Label when readonlyWhen Readonly?Displays the value of the element as plain text when an element is set to "Readonly".
Popup Dialog Height

Specifies the height, in characters.

Code Block
titleSample
200px
Popup Dialog Width

Specifies the width, in characters.

Code Block
titleSample
200px

...

NameDescription
Readonly

Determines if the element is editable.

Disable Add FeatureDetermines if a new row can be added.
Disable Delete Feature

Determines if a row can be removed.

Delete confirmation messageConfirmation message when deleting a row.
Show Row Numbering?Shows numbering on the grid.
Paging SizeItems to be displayed per page.

Validation & Data

...

Data Store

Validation

NameDescription
Validator

Attach a Validator plugin to validate the input value. Please see Form Validator.

Info
titleWhen will validation takes place?

Validation will take place whenever a form is submitted except when it is submitted as "Save as Draft".

Unique ColumnColumn/Field ID to identify record ID.
Min Number of Row Validation (Integer)
Min Number of Row Validation (Integer)
Max Number of Row Validation (Integer)
Max Number of Row Validation (Integer)
Error Message
Error message to be shown when row requirements set above is not met.


Data BinderData Store

NameDescription
Load & Save BinderData Store

Load Data From allows you to customize the method for data retrieval to populate the multi-row form grid in the form.

Save Data To allows you to customize the method on how the form grid row records are saved to.

This option is empty by default. An empty binder Data Store means that the form grid records will be saved/loaded as a JSON format in the parent form & database table. See the list of available Form BindersData Stores.

The recommended binder Data Store to use is the Multirow Form BinderData Store so that each record is saved into a child database table via a subform definition. The binder Data Store will update the foreign key "parent id" into each child record to point to the parent database table.

...

URL Request Parameters for Popup Form


NameDescription
Parameter

Map values as the URL parameters.

Field IdField ID of the form element in the current form.
Default Value

Default Value when there's no existing value found/selected.

A hash variable is accepted here. For example, you may key the following

Code Block
#currentUser.firstName# #currentUser.lastName#


to pre-populate the field with the currently logged-in user's name.
Panel
borderColorpurple
bgColorwhite
titleColorblack
borderWidth1
titleBGColor#ddccff
borderStylesolid
titleNew feature

New feature in Joget DX 8 version 8.1 onwards

Bulk Deletion
  • Form Grid now accepts the action to bulk delete rows of data (temporary deletion). Denoted by a simple check box, users can select the records they want, or select the check box on the header to select all the rows.
  • Select/Deselect row(s) using the checkbox, and click on the trash icon above the table to delete row(s) of table.

Image Added


Download Demo App

Related Tutorials


Info
titleLearning More

Download a tutorial app on Grids from Joget Marketplace to learn more.