73c90f81c6787dd9519c4a43baba3a396a498dc9
14-dot-3-Advanced-FORMS-Concepts.md
| ... | ... | @@ -0,0 +1,77 @@ |
| 1 | +#14.3 Advanced FORMS Concepts |
|
| 2 | + |
|
| 3 | +### Nesting Reports and Forms |
|
| 4 | + |
|
| 5 | +By using double square brackets, you can call another form or report. If you have a form called City Data in the Sub-reports folder, you would type ``[[Subreports/City Data]]`` in order to drop that form into the form you are building. This works whether the called report is a form or a non-form report. |
|
| 6 | + |
|
| 7 | +Caution is recommended when designing nested sub-reports and forms. When you call a report from inside of a master report, you are essentially using a query to run another query (and by result, all queries that might be contained within that nested query). It is thus possible to build a chain of nested reports that can cause severe performance issues. |
|
| 8 | + |
|
| 9 | +The flexibility of nesting reports and forms is most desirable for many small cases, in which sub-reports only exhibit a very small performance hit. Complex or multi-level nested reports may experience significant performance issues; in these cases it is best to find a way to achieve your goal without using sub-reports. |
|
| 10 | + |
|
| 11 | +### Repeater Tag |
|
| 12 | + |
|
| 13 | +If you have content that you want to repeat within a form, you don’t need to use a nested sub-form. By enclosing this content with the ``[repeater]`` tag, the forms engine will repeat that content until it is exhausted. |
|
| 14 | + |
|
| 15 | +In this example, we would generate a table with 1+n rows. The first row is static and displays text in two cells. The second row is within a repeater, which means that it will generate _**n**_ times where _**n**_ is the number of valid ``[PersonID]`` entries. This repeater has a nested repeater in the second cell, which will populate all valid ``[Name]`` for each ``[PersonID]``. |
|
| 16 | + |
|
| 17 | +```html |
|
| 18 | +<table> |
|
| 19 | + <tr> |
|
| 20 | + <td>Person</td> |
|
| 21 | + <td>Certs</td> |
|
| 22 | + </tr> |
|
| 23 | +[repeater] |
|
| 24 | + <tr> |
|
| 25 | + <td>[PersonID]</td> |
|
| 26 | + <td>[repeater][Name], [/repeater]</td> |
|
| 27 | + </tr> |
|
| 28 | +[/repeater] |
|
| 29 | +</table> |
|
| 30 | +``` |
|
| 31 | + |
|
| 32 | +All of these count against the Records display limit. If you have four ``[PersonID]`` and each has three ``[Name]`` entries, then the form would count as 12 records. This means that if you set it to only display 10 records, the form would not completely generate. |
|
| 33 | + |
|
| 34 | +You can only nest one set of repeaters at a time. This is a correct use: |
|
| 35 | + |
|
| 36 | +```html |
|
| 37 | +[repeater] |
|
| 38 | + |
|
| 39 | + [repeater] |
|
| 40 | + |
|
| 41 | + [repeater] |
|
| 42 | + |
|
| 43 | + [/repeater] |
|
| 44 | + |
|
| 45 | + [/repeater] |
|
| 46 | + |
|
| 47 | +[/repeater] |
|
| 48 | +``` |
|
| 49 | + |
|
| 50 | +**And this is an incorrect use:** |
|
| 51 | + |
|
| 52 | +```html |
|
| 53 | +[repeater] |
|
| 54 | + |
|
| 55 | + [repeater] |
|
| 56 | + |
|
| 57 | + [/repeater] |
|
| 58 | + |
|
| 59 | + [repeater] |
|
| 60 | + |
|
| 61 | + [/repeater] |
|
| 62 | + |
|
| 63 | +[/repeater] |
|
| 64 | +``` |
|
| 65 | + |
|
| 66 | +**Video tutorial:** http://blog.izenda.com/quick-tutorial-how-to-use-the-repeater-tag/ **or here:** http://screencast.com/t/6RwYd7sKKKh |
|
| 67 | + |
|
| 68 | + |
|
| 69 | + |
|
| 70 | + |
|
| 71 | +Let us know what features of Izenda Forms we can add to our Video Tutorials online. We want to make sure we’re answering YOUR questions! |
|
| 72 | + |
|
| 73 | +--- |
|
| 74 | + |
|
| 75 | +[[14.0 Izenda FORMS]] |
|
| 76 | + |
|
| 77 | +[[User Guides|http://wiki.izenda.us/FAQ/UserGuides]] |
|
| ... | ... | \ No newline at end of file |