addRowsToSubform

Method Type

JavaScript

Description

Adds one or more new rows to a subform. This method can be used for a primary (top-level) subform or a nested subform.

The method passes the row data as an array.

  • If you pass row data, a row is created for each record in the array.
  • If you do not pass the data for the rows, the method creates an empty row.

Parameters

The method input is an object with these parameters, and a callback function.

Field NameDefinition

fieldId

Function:
Specifies the internal name for the form control to change.
Type
string
Accepted Values:
The internal name of your form control.

value

Function:
The value for an array of objects to add a new row to a subform form control.
Type
object
Accepted Values:
An array of objects.

Output

A result object that gives the status, data, and error details.

Field NameDefinition

isSuccess

Function:
Specifies whether a pop-up shows when the method completes successfully.
Type
bool
Accepted Values:
  • True - The method was successful.
  • False - The method was not successful.

data

Function:
Holds an empty object.

error

Function:
Specifies an error message if an error occurs.
Type
string
Accepted Values:
The contents of an error message.

Example: Subform

var options = {};

// The Subform1 is an internal name of the Subform form control
options.fieldId = 'Subform1';  
options.value = [{

                     // The TextBox1 and DropdownList1 are the 
                     // internal names of the form controls. 
                     // These controls are present in
                     // the Subform1 form control.
                     TextBox1:'value', 
                     DropdownList1:'value'
                  }, 
                  {
                     TextBox1:'value', 
                     DropdownList1:'value'
}];
eFormHelper.addRowsToSubForm(options, function (result) 
  {
  
  //Checks if the method completes successfully and returns a response
  if (result.isSuccess)
  
    {
    
    //Logs the data and shows an array of variable names and values
    console.log(result.data);
    
    }
  else 
    {
    
    //Logs the error and error description if any
    console.log(result.error);
    
    }      
});

Example: Nested Subform

var options = {};

// Specifies rowIndex as asterisk '*' to add rows to all 'Subform2' 
// form controls that exist in the 'Subform1' form control.
// Alternately, you can specify the row number  
// separated by semicolons (;) to add rows to specific 
// 'SubForm2' form controls in the specified rows 
// of the Subform1. For example, '1;2'

// The Subform1 and Subform2 are internal names of Subform controls. 
// The Subform2 exists in SubForm1. 
// The value Subform1/Subform2 shows the path of subform2. 
options. fieldId = 'Subform1/Subform2:[*]';
// (or) options.fieldId = 'Subform1/Subform2:[1;2]'

options.value = [{

    // The TextBox1 and DropdownList1 are the internal names  
    // of the form controls in SubForm1.
    TextBox1:'value', 
    DropdownList1:'value'
  }, 
  {
    TextBox1:'value', 
    DropdownList1:'value'
}];
eFormHelper.addRowsToSubForm(options, function (result) 
{

  // Checks if the method completes successfully and returns a response
  if (result.isSuccess)       
  
  {
    // Logs the data, and shows an array of variable names and values
    console.log(result.data);

  }
  else 
    {
      
      // Logs any errors and error descriptions
      console.log(result.error); 
    }      
});

Supported Versions

  • AgilePoint NX v6.0 and higher.
  • Support for nested subforms is available in AgilePoint NX v8.0 and higher.

Other Examples

Code Examples in the AgilePoint NX Documentation

The AgilePoint NX Product Documentation is intended as a basic reference to help you understand how to complete basic coding tasks, such as make API or JavaScript method calls. Code examples that show specific use cases, the solutions to specific business problems, or detailed implementation scenarios are outside the scope of the AgilePoint NX Product Documentation. For specific and/or advanced types of examples that may better meet your requirements, AgilePoint provides several resources:

  • AgilePoint Community Forums - A free, AgilePoint-moderated, crowd-sourcing user forum where you can ask questions about specific techniques, the solutions to use cases, workarounds, or other topics that may not be covered in the Product Documentation.
  • Professional Services - If you can not find the information you need for your specific business problem, mentoring is available through AgilePoint Professional Services.
  • Personalized Training - AgilePoint can provide personalized training for your organization. To request personalized training, contact AgilePoint Sales.