Child tables are a powerful feature in iVendNext that allow you to manage multi-row data within a single document—such as line items in a Sales Order or tasks in a Project. However, default settings often limit visibility, showing only a few columns or requiring clicks to view details. This article will teach you how to:
✔ Enable/disable editable grids for streamlined data entry.
✔ Customize columns to display critical fields at a glance.
✔ Optimize child tables for better usability and reporting.
A child table is a sub-section of a document that holds related records. Examples include:
Sales Order Items (Product, Qty, Rate).
Project Tasks (Task Name, Assignee, Deadline).
Purchase Order Supplies (Item, Ordered Qty, Received Qty).
By default, iVendNext displays child tables in two modes:
Editable Grid: Edit rows directly in a table view (limited to 4 columns).
Form View: Open a pop-up form for each row (shows all fields).
The editable grid lets users edit child table data inline, reducing clicks.
Go to:
Setup > Customize > DocType
Select the parent DocType (e.g., Sales Order).
Under Child Tables, locate the target table (e.g., Sales Order Item).
Check "Editable Grid" and save.
Result: Users can edit fields directly in the table.
By default, only 4 columns appear. To show more:
Customize the Child DocType:
Navigate to:
Setup > Customize > Customize Form
Select the child table (e.g., Sales Order Item).
Configure Column Visibility:
For each field, set:
"In List View": ✅ Checked.
"Column": Enter a number (1–10) to set display order.
Save and Refresh:
Columns will appear in the editable grid based on their order.
Pro Tip:
Prioritize high-use fields (e.g., Item Code, Qty, Rate).
Avoid exceeding 10 columns to prevent clutter.
For complex child tables (e.g., tasks with 15+ fields), disable the editable grid:
Uncheck "Editable Grid" in the parent DocType.
Ensure fields have "In List View" enabled for the preview.
Result: Users see a condensed preview but can click to open full details.
Hide/show child table fields based on parent data:
// Example: Hide "Discount" column if customer is "Government"
cur_frm.fields_dict["items"].grid.update_docfield_property(
"discount_percentage",
"hidden",
doc.customer_group === "Government"
);
Adjust widths via CSS (Admin-only):
/* In Custom Script */
.ivendnext-grid [data-fieldname="item_code"] { width: 200px !important; }
Use "Bulk Update" (if enabled) to modify multiple rows simultaneously.
Here’s a quick look at some common issues you might run into.
Some of the key points to remember are:
Balance Speed vs. Detail: Use editable grids for simple tables, form views for complex ones.
Standardize Columns: Keep key fields (e.g., Item, Qty) visible across all similar tables.