Grid enables one to capture structured and related data. |

Figure 1: Screenshot highlighting Grid in sample HR Expenses Claim app

Figure 2: Grid Properties
| Name | Description |
|---|---|
| ID | Element ID (By declaring as "approval_comments", a corresponding database table column "c_approval_comments" will be created) |
| Label | Element Label to be displayed to end user. |
| Options | Column definition and column label. Column name is defined in the value column whereas the corresponding label is defined in the label column. |

Figure 3: Grid Properties - UI & Validation
| Name | Description | |
|---|---|---|
| Readonly | Determines if the element is editable. | |
| Validator | Attach a Validator plugin to validate the input value. Please see Form Validator.
| |
| 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. |

Figure 4: Grid Properties - Data Binder
| Name | Description |
|---|---|
| Load Binder | Option by default. Grid data will be saved/loaded in JSON format in its defined database cell. In this example, Multirow Form Binder is used to load data from other form. |
| Store Binder | Option by default. Grid data will be saved/loaded in JSON format in its defined database cell. |

Figure 5: Grid Properties - Data Binder - Multirow Form Binder
| Name | Description |
|---|---|
| Form | Form to store to or load from |
| Foreign Key | Foreign Key for records lookup. |
Screenshots taken from http://localhost:8080/jw/web/console/app/hr_expense/1/form/builder/hr_expenses_approval_detail