Greetings, everyone!
Finally, the day has come for us to announce some of the most anticipated, requested, and exciting updates to
subforms in Zoho Creator.
As you're aware, subforms are an integral part of Creator forms, as they help in establishing proper modelling of the app, collecting rows of data, and setting up users to enter data that has a parent-child relationship. With this new set of updates, we've bought in a paradigm shift to subforms, as they'll be getting an all-new look for an improved user experience, along with new capabilities for solving challenges. This post will give you a sneak peek into these new subform enhancements.
Do you find it difficult to scroll subforms horizontally? Do you wish you could drag and drop subform rows? Do you want to manipulate subform fields via Deluge script? Then your wait has come to an end—continue reading to learn more on how you can now do all of this in subforms.
Subform list and pop-up view
As announced in the
March 2023 post, the
List
view type of subforms will display the subform as a pop-up, and the current method of displaying subforms has been christened
Grid.
To further understand how this can be helpful, let's put ourselves in the shoes of a supply chain manager. Their job requires them to regularly keep track of inventory lists in their warehouses.
Let's assume there's a form collecting warehouse details, like name, location, and stock inventory. For collecting the stock inventory details, a subform is present with these fields—Item No, Name, Manufacturer, Description, Cost Per Item, Stock Quantity, Inventory Value, Units Sold, Reorder Quantity, Reorder Date,
and
Person In Charge.
Now, the default view type will tire you out from scrolling back and forth horizontally, and results in a frustrating time-consuming process. We all long for a new way to avoid this and make data entry swifter.
To achieve this, make use of the new List option under
Subform->Field Properties->View Type.
List view, which looks similar to our list report, is a table-like subform without inline inputs. When you try adding or updating data in each row, a pop-up will be displayed listing out the fields with vertical scrolling, thereby ensuring a vastly superior user experience and more effective space management.
Crucially, it also helps to load subform rows quickly while editing records, by reducing the loading time.
While using an existing form as a subform, the form's exact structure will be replicated in the pop-up, to ensure consistency in the look and feel of the form. To understand this better, let's assume our form has a two-column layout, with
Section
and Note
fields. Now the same customizations will be displayed in the pop-up, too!
And that's not all—the new List view type is being extended to mobile apps, too. When it's enabled, the subform will be opened in the next screen, where users can add their data. This data will then be added as a subform row.
Custom sorting
Currently, the only sorting option in subforms is
field-based sorting, where you can choose a field based on which rows are sorted, either in ascending or descending order. Though this works well for basic cases, the need may arise in some cases to sort the subform in random order. With the new custom sorting support, you can effortlessly drag and drop subform rows to rearrange them.
To understand how it works, let's consider a task manager working on a To-Do List
form, to plan activities for a current project. For this, they have a main form collecting
project details, date-time,
and
milestones,
and a subform for maintaining the to-do list with the following fields:
Task Name, Description, Category, Status, Deliverables, Priority, and
Deadline. Here, before submitting the list, they want to rearrange some tasks based on their daily routine.
To achieve this, they use the Custom sorting option under
Subform->Field Properties->Sort type.
Now, with custom sorting, all they need to do to reorder the row sequence—both while adding and editing records—is simply drag and drop them in the required position.
The same order will be retained in reports or while opening the form for updating the list.
Note:
Custom sorting can be used both in List and Grid-type subforms.
Custom sorting will also be available on the mobile apps and you can effortlessly rearrange fields in subforms.
Deluge tasks for row-level actions
You can use a combination of workflows and Deluge scripts to help your subforms handle complex business logic. With that in mind, we formulated the idea of bringing in actions that help you take control at the row level of subforms.
In the past, you may have come across business scenarios which required you to hide/show or enable/disable a particular field in a specific subform row. Now, with new dedicated Deluge tasks, you can bid adieu to shortcuts and workarounds.
Note:
Deluge tasks can be used both in List and Grid-type subforms.
Enable/disable
The new enable and disable subform Deluge tasks can be used to enable and disable specific fields.
Syntax:
enable row.subform_field
disable row.subform_field
Events:
On add row, On delete row, On user input of subform field
Let's assume a Vehicle form has fields like
Customer Name, Vehicle Model, and Date of Booking,
and a subform to collect payment details with the following fields:
Payment Date, Payment Method, Credit Card Number, Bank Account Number,
and
Transaction Ref Number.
Now, there are two payment options—Card and Netbanking. If Card is chosen, then the Credit Card Number field should be enabled and the Bank Account Number field should be disabled. Similarly, when Netbanking is chosen, then the Bank Account Number field should be enabled and the Credit Card Number field disabled.
Code snippet:
if(Payment_details.Payment_method == "Card")
{
enable row.Credit_card_number;
disable row.Bank_account_number;
}
if(Payment_details.Payment_method == "Netbanking")
{
enable row.Bank_account_number;
disable row.Credit_card_number;
}
Hide/show
The new show
and
hide subform
Deluge tasks can be used to show and hide specific fields.
Syntax: hide row.subform_field
show row.subform_field
Events: On add row, On delete row, On user input of subform field
Let's use the example of a rental property manager who needs to keep track of a list of properties that are available in every locality. For this, a form is used for collecting information like Locality and No of Vacant Properties, and a subform will be used to list property details with the following fields: Property Name, Address, Square Feet, Rent, Advance, Category, and Contact Number.
When the category is Brokerage, we need to hide the contact number of the landlord. We can use the new Deluge tasks to achieve this.
Code snippet
:
if(row.Category == "Brokerage")
{
hide row.Phone_Number;
}
else
{
show row.Phone_Number;
}
-----
That's it from us on our subform enhancements! We expect these updates to be rolled out in the upcoming weeks. Once done, we'll pop in a comment below and also update our
Release Notes page.
Don't forget—your feedback helps us make Creator better and stronger. We'd love to hear what you think about these updates. Please use the space below or send your feedback to
support@zohocreator.com.
Regards,
Zoho Creator Team