Introduction

Get Started

The easiest way to see how the List Grid works is to create a new app. Here are the steps:

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

  2. Log in as admin and click on the Design New App button. (see Figure 1)


    Figure 1

  3. Fill up the App Details as follows and click Save (see Figure 2):
      1. App ID: listgrid
      2. App Name: List Grid


    Figure 2

  4. You will be directed to the Design App. Click on the Create New Form button and fill up the Form Details as follows (see Figure 3):
    1. Form ID: formA
    2. Form Name: Form A
    3. Table Name: lg_a


    Figure 3

  5. Click on Save and you will be directed to the  Form Builder.

  6. Drag and drop a Text Field element on to the canvas.

  7. Hover the mouse over the Text Field element on the canvas and click on Edit to open up the Edit Text Field properties.

  8. Fill up the Edit Text Field  properties as follows and click on OK (see Figure 4):
      1. ID: name
      2. Label: Name


    Figure 4

  9. Click on Save on the Form Builder.

  10. Click on Generate App, select Generate CRUD and click OK (see Figure 5)

  11. Once the App Generator is complete, click on the link to launch the userview.

  12. Click on New button and Save at least 2 records of data (see Figure 5)


    Figure 5

  13. Head back to the Design App.

  14. Click on the Create New Form button and fill up the Form Details as follows:
    1. ID: formB
    2. Form Name: Form B
    3. Table Name: lg_b
  15. Click on Save and you will be directed to the  Form Builder. 

  16. Drag and drop a List Grid element on to the canvas.

  17. Hover the mouse over the List Grid element on the canvas and click on Edit to open up the Edit List Grid properties.

  18. Fill up the Edit List Grid properties as follows and click on Next (see Figure 6):
    1. Datalist: List - Form A
    2. Columns: 

      Field IDLabel
      name

      Name


    Figure 6

  19. Click on Preview , click on the plus sign on the List Grid and it will open up a popup list displaying the data you recently entered in step 12. Tick any number of rows and click Submit button. The name of the data selected will be displayed in the List Grid.

List Grid Properties

Edit List Grid

NameDescription
ID

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

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

LabelElement Label to be displayed to the end-user.
DatalistDatalist to display for selection.
Columns

The columns defined here must be correspondent to the Data List chosen above.

NameDescription
Value

Field ID of the target form.

Example:

In the "Account" form sourced in the Datalist "Account Listing", there are Form Elements with the ID "id", and "accountName".

LabelColumn Label.
EditableYes/No
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 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.

    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 date format.

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

    Expected Form Def ID

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

  • Image - Show the value as a thumbnail of the attachment. Form Def ID is expected in the "Format" field.

    Expected Form Def ID

    Specify the Form Def 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 Def ID is expected in the "Format" field.

    Expected Form Def ID

    Specify the Form Def 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.

Sample
200px

UI

Sorting

NameDescription
Enable Sorting FeatureDetermines if the ordering of rows is to be enforced.
Field ID for Sorting
Field to keep the ordering sequence; must correspond with a field id in the target form.


List 

NameDescription
Insert Button Label
Insert Button Label


Form

NameDescription
Form to Edit Row
After the addition of row, the user may edit the record row by opening it in the Form defined here.
Form Submit Button Label (Normal Mode)
The label of the Submit button in normal mode.
Form Submit Button Label (Readonly Mode)

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

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


Grid

NameDescription
Readonly

Determines if the element is editable.

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

Determines if a row can be removed.

Delete confirmation message
Confirmation message when deleting a row.
Show Row Numbering?
Show an additional column on the leftmost to denote numbering.
Paging SizeItems to be displayed per page.
Popup Dialog Height

Height in character

Sample
500px
Popup Dialog Width

Width in character

Sample
90%

Validation & Data Binder

Validation

NameDescription
Validator

Attach a Validator plugin to validate the input value.

When 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 Binder

NameDescription
Load & Save Binder

Load Binder  allows you to customize the method for data retrieval to populate the list grid in the form.

Save Binder  allows you to customize the method on how the list grid row records are saved to.

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

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


Child Form Data Deletion Options

NameDescription
Delete Associated Grid Data?

If the popup form has a grid element(s), this option will delete the inner grid data.

Caution

These 3 options: (Delete Associated Grid Data, Delete Associated Child Form Data, Delete Files), in combination, does apply to nested grid/child elements.

These options traverse the entire form tree. Upon encountering a 'false' condition, it will move on to the next grid/child element.

Example: Consider that the popup form has a form grid, form grid has a subform, subform has a file upload element with abc.pdf. If all options are checked, abc.pdf will be deleted. If all except ONE of the options is checked, abc.pdf will NOT be deleted.

Delete Associated Child Form Data?

If the popup form has a child element(s), this option will delete the child data.

Caution

These 3 options: (Delete Associated Grid Data, Delete Associated Child Form Data, Delete Files), in combination, does apply to nested grid/child elements.

Delete Files?

If the popup form contains a file upload element, this option will delete the actual uploaded file(s).

Caution

These 3 options: (Delete Associated Grid Data, Delete Associated Child Form Data, Delete Files), in combination, does apply to nested grid/child elements.

Abort Related Running Processes?If there are process instances related to the deleted row, these options will abort those process instances.

Advanced

NameDescription
URL Request Parameters for Datalist

Refine the target Data List selections by defining the filter criteria here.

NameDescription
ParameterTarget Data List filter parameter name
Field IDCurrent form element field ID
Default ValueDefault Value for the search parameter

Download Demo App


  • No labels