{div:style=display:none}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY (EXCEPT INSIDE THE DIV BELOW WITH ID=DESCRIPTION), UNLESS YOU KNOW WHAT YOU'RE DOING.
		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO AUTO UPDATE THE CONTENT THROUGH THE DOC GENERATOR.\\		\\		Enter additional information related to this 'class' inside the \{div} macro with 'id=description'{div}
{div:id=description}{div}\\ 

{table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Constants Summary{th}{tr}{table}\\ 

{table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Property Summary{th}{tr}{tbody}{tr}{td}[String]{td}{td}[#dataSource]
The names of the database server and table that this form is linked to.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#name]
The name of the form.{td}{tr}{tbody}{tbody}{tr}{td}[Object]{td}{td}[#navigator]
The navigator (previously named "controller")
that is used to control/navigate to the form.{td}{tr}{tbody}{tbody}{tr}{td}[JSMethod]{td}{td}[#onHide]
The method that is triggered when another form is being activated.{td}{tr}{tbody}{tbody}{tr}{td}[JSMethod]{td}{td}[#onLoad]
The method that is triggered when a form is loaded/reloaded from the repository; used to alter elements, set globals, hide toolbars, 
etc; onShow method can also be assigned.{td}{tr}{tbody}{tbody}{tr}{td}[JSMethod]{td}{td}[#onRecordSelection]
The method that is triggered each time a record is selected.{td}{tr}{tbody}{tbody}{tr}{td}[JSMethod]{td}{td}[#onShow]
The method that is triggered EVERY TIME the form is displayed; an argument must be passed to the method if this is the first time the form is displayed.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#serverName]
Get the server name used by this form.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#tableName]
The \[name of the table/SQL view\].{td}{tr}{tbody}{table}\\ 

{table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{th}{tr}{tbody}{tr}{td}[JSBean]{td}{td}[#getBean]\(name)
Returns a JSBean that has the given name.{td}{tr}{tbody}{tbody}{tr}{td}[JSButton]{td}{td}[#getButton]\(name)
Returns a JSButton that has the given name.{td}{tr}{tbody}{tbody}{tr}{td}[JSButton]\[]{td}{td}[#getButtons]\()
Returns all JSButtons of this form, including the ones without a name.{td}{tr}{tbody}{tbody}{tr}{td}[JSComponent]{td}{td}[#getComponent]\(name)
Returns a JSComponent that has the given name; if found it will be a JSField, JSLabel, JSButton, JSPortal, JSBean or JSTabPanel.{td}{tr}{tbody}{tbody}{tr}{td}[JSComponent]\[]{td}{td}[#getComponents]\()
Returns a array of all the JSComponents that a form has; they are of type JSField,JSLabel,JSButton,JSPortal,JSBean or JSTabPanel.{td}{tr}{tbody}{tbody}{tr}{td}[JSField]{td}{td}[#getField]\(name)
The field with the specified name.{td}{tr}{tbody}{tbody}{tr}{td}[JSField]\[]{td}{td}[#getFields]\()
Returns all JSField objects of this form, including the ones without a name.{td}{tr}{tbody}{tbody}{tr}{td}[JSFooter]{td}{td}[#getFooter]\()
Get the Footer part on the form if it exists.{td}{tr}{tbody}{tbody}{tr}{td}[JSHeader]{td}{td}[#getHeader]\()
Get the Header part on the form if it exists.{td}{tr}{tbody}{tbody}{tr}{td}[JSInsetList]{td}{td}[#getInsetList]\(name)
Returns an existing inset list.{td}{tr}{tbody}{tbody}{tr}{td}[JSInsetList]\[]{td}{td}[#getInsetLists]\()
Gets all insets lists on the form.{td}{tr}{tbody}{tbody}{tr}{td}[JSLabel]{td}{td}[#getLabel]\(name)
Returns a JSLabel that has the given name.{td}{tr}{tbody}{tbody}{tr}{td}[JSLabel]\[]{td}{td}[#getLabels]\()
Returns all JSLabels of this form (not including its super form), including the ones without a name.{td}{tr}{tbody}{tbody}{tr}{td}[JSMethod]{td}{td}[#getMethod]\(name)
Gets an existing form method for the given name.{td}{tr}{tbody}{tbody}{tr}{td}[JSMethod]\[]{td}{td}[#getMethods]\()
Returns all existing form methods for this form.{td}{tr}{tbody}{tbody}{tr}{td}[JSPart]{td}{td}[#getPart]\(type)
Gets a part of the form from the given type (see JSPart constants).{td}{tr}{tbody}{tbody}{tr}{td}[JSVariable]{td}{td}[#getVariable]\(name)
Gets an existing form variable for the given name.{td}{tr}{tbody}{tbody}{tr}{td}[JSVariable]\[]{td}{td}[#getVariables]\()
An array consisting of all form variables for this form.{td}{tr}{tbody}{tbody}{tr}{td}[JSBean]{td}{td}[#newBean]\(name, y)
Creates a new JSBean object on the form.{td}{tr}{tbody}{tbody}{tr}{td}[JSButton]{td}{td}[#newButton]\(txt, y, jsmethod)
Creates a new button on the form with the given text.{td}{tr}{tbody}{tbody}{tr}{td}[JSCalendar]{td}{td}[#newCalendar]\(dataprovider, y)
Creates a new JSCalendar field on the form.{td}{tr}{tbody}{tbody}{tr}{td}[JSCalendar]{td}{td}[#newCalendar]\(dataprovider, y)
Creates a new JSCalendar field on the form.{td}{tr}{tbody}{tbody}{tr}{td}[JSChecks]{td}{td}[#newCheck]\(dataprovider, y)
Creates a new JSChecks field on the form.{td}{tr}{tbody}{tbody}{tr}{td}[JSChecks]{td}{td}[#newCheck]\(dataprovider, y)
Creates a new JSChecks field on the form.{td}{tr}{tbody}{tbody}{tr}{td}[JSCombobox]{td}{td}[#newCombobox]\(dataprovider, y)
Creates a new JSCombobox field on the form.{td}{tr}{tbody}{tbody}{tr}{td}[JSCombobox]{td}{td}[#newCombobox]\(dataprovider, y)
Creates a new JSCombobox field on the form.{td}{tr}{tbody}{tbody}{tr}{td}[JSField]{td}{td}[#newField]\(dataprovider, type, y)
Creates a new JSField object on the form .{td}{tr}{tbody}{tbody}{tr}{td}[JSField]{td}{td}[#newField]\(dataprovider, type, y)
Creates a new JSField object on the form .{td}{tr}{tbody}{tbody}{tr}{td}[JSFooter]{td}{td}[#newFooter]\()
Creates a new Footer part on the form.{td}{tr}{tbody}{tbody}{tr}{td}[JSHeader]{td}{td}[#newHeader]\()
Creates a new Header part on the form.{td}{tr}{tbody}{tbody}{tr}{td}[JSInsetList]{td}{td}[#newInsetList]\(yLocation, relationName, headerText, textDataProviderID)
Creates a new inset list mobile component in the given form.{td}{tr}{tbody}{tbody}{tr}{td}[JSLabel]{td}{td}[#newLabel]\(txt, y)
Creates a new JSLabel object on the form.{td}{tr}{tbody}{tbody}{tr}{td}[JSMethod]{td}{td}[#newMethod]\(code)
Creates a new form JSMethod \- based on the specified code.{td}{tr}{tbody}{tbody}{tr}{td}[JSPassword]{td}{td}[#newPassword]\(dataprovider, y)
Creates a new JSPassword field on the form.{td}{tr}{tbody}{tbody}{tr}{td}[JSPassword]{td}{td}[#newPassword]\(dataprovider, y)
Creates a new JSPassword field on the form.{td}{tr}{tbody}{tbody}{tr}{td}[JSRadios]{td}{td}[#newRadios]\(dataprovider, y)
Creates a new JSRadios field on the form.{td}{tr}{tbody}{tbody}{tr}{td}[JSRadios]{td}{td}[#newRadios]\(dataprovider, y)
Creates a new JSRadios field on the form.{td}{tr}{tbody}{tbody}{tr}{td}[JSTextArea]{td}{td}[#newTextArea]\(dataprovider, y)
Creates a new JSTextArea field on the form.{td}{tr}{tbody}{tbody}{tr}{td}[JSTextArea]{td}{td}[#newTextArea]\(dataprovider, y)
Creates a new JSTextArea field on the form.{td}{tr}{tbody}{tbody}{tr}{td}[JSText]{td}{td}[#newTextField]\(dataprovider, y)
Creates a new JSText field on the form.{td}{tr}{tbody}{tbody}{tr}{td}[JSText]{td}{td}[#newTextField]\(dataprovider, y)
Creates a new JSText field on the form.{td}{tr}{tbody}{tbody}{tr}{td}[JSVariable]{td}{td}[#newVariable]\(name, type)
Creates a new form JSVariable \- based on the name of the variable object and the number type, uses the SolutionModel JSVariable constants.{td}{tr}{tbody}{tbody}{tr}{td}[JSVariable]{td}{td}[#newVariable]\(name, type, defaultValue)
Creates a new form JSVariable \- based on the name of the variable object , the  type  and it's default value , uses the SolutionModel JSVariable constants.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeBean]\(name)
Removes a JSBean that has the specified name.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeButton]\(name)
Removes a JSButton that has the specified name.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeComponent]\(name)
Removes a component (JSLabel, JSButton, JSField, JSPortal, JSBean, JSTabpanel) that has the given name.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeField]\(name)
Removes a JSField that has the given name.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeFooter]\()
Removes a JSFooter if it exists.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeHeader]\()
Removes a JSHeader if it exists.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeInsetList]\(name)
Removes inset list from the form.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeLabel]\(name)
Removes a JSLabel that has the given name.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeMethod]\(name)
Removes a  form JSMethod \- based on the specified code.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeVariable]\(name)
Removes a form JSVariable \- based on the name of the variable object.{td}{tr}{tbody}{table}\\ 

{table:id=constant|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Constants Details{th}{tr}{table}\\ 

{table:id=property|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Property Details{th}{tr}{tbody:id=dataSource}{tr:id=name}{td}h6.dataSource{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var myForm = solutionModel.newForm('newForm', 'db:/a_server/a_table', 'aStyleName', false, 800, 600)
myForm.dataSource = 'db:/anotherServerName/anotherTableName'
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=name}{tr:id=name}{td}h6.name{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('myForm',myDatasource,null,true,800,600);
var formName = form.name;
application.output(formName);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=navigator}{tr:id=name}{td}h6.navigator{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Object]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var aForm = solutionModel.newForm('newForm1', myDatasource);
// you can also use SM_DEFAULTS.INGORE to just reuse the navigator that is already set.
// here we assign an other new form as the navigator.
var aNavigator = solutionModel.newForm('navForm', myDatasource);
aForm.navigator = aNavigator;
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=onHide}{tr:id=name}{td}h6.onHide{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSMethod]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
form.onShow = form.newMethod('function onShow(firstShow, event) { application.output("onShow intercepted on " + event.getFormName() + ". first show? " + firstShow); return false; }');
form.onHide = form.newMethod('function onHide(event) { application.output("onHide blocked on " + event.getFormName()); return false; }');
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=onLoad}{tr:id=name}{td}h6.onLoad{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSMethod]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
form.onLoad = form.newMethod('function onLoad(event) { application.output("onLoad intercepted on " + event.getFormName()); }');
form.onUnLoad = form.newMethod('function onUnLoad(event) { application.output("onUnLoad intercepted on " + event.getFormName()); }');
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=onRecordSelection}{tr:id=name}{td}h6.onRecordSelection{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSMethod]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
form.onRecordEditStart = form.newMethod('function onRecordEditStart(event) { application.output("onRecordEditStart intercepted on " + event.getFormName()); }');
form.onRecordEditStop = form.newMethod('function onRecordEditStop(record, event) { application.output("onRecordEditStop intercepted on " + event.getFormName() + ". record is: " + record); }');
form.onRecordSelection = form.newMethod('function onRecordSelection(event) { application.output("onRecordSelection intercepted on " + event.getFormName()); }');
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=onShow}{tr:id=name}{td}h6.onShow{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSMethod]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
form.onShow = form.newMethod('function onShow(firstShow, event) { application.output("onShow intercepted on " + event.getFormName() + ". first show? " + firstShow); return false; }');
form.onHide = form.newMethod('function onHide(event) { application.output("onHide blocked on " + event.getFormName()); return false; }');
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=serverName}{tr:id=name}{td}h6.serverName{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('myForm',myDatasource,null,true,800,600);
form.serverName = 'anotherServerName';
var theServerName = form.serverName;
application.output(theServerName);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=tableName}{tr:id=name}{td}h6.tableName{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var aForm = solutionModel.newForm('newForm1', myDatasource, null, true, 800, 600);
aForm.tableName = 'anotherTableOfMine'
if (forms['newForm1'].controller.find())
{
	columnTextDataProvider = '=aSearchedValue'
	columnNumberDataProvider = '>10';
	forms['newForm1'].controller.search()
}
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=getBean-String}{tr:id=name}{td}h6.getBean{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSBean]{span}{span:style=font-weight: bold;}getBean{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the bean
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSBean] -- a JSBean object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var btn = myForm.getBean("mybean");
application.output(mybean.className);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getButton-String}{tr:id=name}{td}h6.getButton{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSButton]{span}{span:style=font-weight: bold;}getButton{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the button
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSButton] -- a JSButton object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var btn = myForm.getButton("hello");
application.output(btn.text);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getButtons}{tr:id=name}{td}h6.getButtons{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSButton]\[]{span}{span:style=font-weight: bold;}getButtons{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSButton]\[] -- the list of all JSbuttons on this forms{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var buttons = myForm.getButtons();
for (var b in buttons)
{
	if (buttons[b].name != null) 
		application.output(buttons[b].name);
	else
		application.output(buttons[b].text + " has no name ");
}
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getComponent-String}{tr:id=name}{td}h6.getComponent{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSComponent]{span}{span:style=font-weight: bold;}getComponent{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the component
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSComponent] -- a JSComponent object (might be a JSField, JSLabel, JSButton, JSPortal, JSBean or JSTabPanel){div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var frm = solutionModel.getForm("myForm");
var cmp = frm.getComponent("componentName");
application.output("Component type and name: " + cmp);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getComponents}{tr:id=name}{td}h6.getComponents{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSComponent]\[]{span}{span:style=font-weight: bold;}getComponents{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSComponent]\[] -- an array of all the JSComponents on the form.{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.getForm("myForm");
var components = form.getComponents();
for (var i in components)
	application.output("Component type and name: " + components[i]);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getField-String}{tr:id=name}{td}h6.getField{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSField]{span}{span:style=font-weight: bold;}getField{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the field
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSField] -- a JSField object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.getForm("myForm");
var field = form.getField("myField");
application.output(field.dataProviderID);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getFields}{tr:id=name}{td}h6.getFields{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSField]\[]{span}{span:style=font-weight: bold;}getFields{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSField]\[] -- all JSField objects of this form{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var frm = solutionModel.getForm("myForm");
var fields = frm.getFields();
for (var f in fields)
{
	var fname = fields[f].name;
	if (fname != null)
		application.output(fname);
}
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getFooter}{tr:id=name}{td}h6.getFooter{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSFooter]{span}{span:style=font-weight: bold;}getFooter{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSFooter] -- A JSFooter or null when not found.{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var footer = form.getFooter();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getHeader}{tr:id=name}{td}h6.getHeader{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSHeader]{span}{span:style=font-weight: bold;}getHeader{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSHeader] -- A JSHeader or null when not found.{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var header = form.getHeader();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getInsetList-String}{tr:id=name}{td}h6.getInsetList{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSInsetList]{span}{span:style=font-weight: bold;}getInsetList{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the inset list's name.
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSInsetList] -- the existing inset list, or null if it does not exist.{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.getForm("myform");
var insetList = form.getInsetList('mylist1');
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getInsetLists}{tr:id=name}{td}h6.getInsetLists{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSInsetList]\[]{span}{span:style=font-weight: bold;}getInsetLists{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSInsetList]\[]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.getForm('test');
var insetLists = form.getInsetLists();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getLabel-String}{tr:id=name}{td}h6.getLabel{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSLabel]{span}{span:style=font-weight: bold;}getLabel{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the label
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSLabel] -- a JSLabel object (or null if the label with the specified name does not exist){div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var frm = solutionModel.getForm("myForm");
var label = frm.getLabel("myLabel");
application.output(label.text);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getLabels}{tr:id=name}{td}h6.getLabels{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSLabel]\[]{span}{span:style=font-weight: bold;}getLabels{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSLabel]\[] -- all JSLabels on this form{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var frm = solutionModel.getForm("myForm");
var labels = frm.getLabels();
for (var i in labels)
{
	var lname = labels[i].name;
	if (lname != null)
		application.output(lname);
}
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getMethod-String}{tr:id=name}{td}h6.getMethod{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSMethod]{span}{span:style=font-weight: bold;}getMethod{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the method
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSMethod] -- a JSMethod object (or null if the method with the specified name does not exist){div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var frm = solutionModel.getForm("myForm");
var method = frm.getMethod("myMethod");
application.output(method.code);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getMethods}{tr:id=name}{td}h6.getMethods{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSMethod]\[]{span}{span:style=font-weight: bold;}getMethods{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSMethod]\[] -- all form methods for the form{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var frm = solutionModel.getForm("myForm");
var methods = frm.getMethods();
for (var m in methods)
	application.output(methods[m].getName());
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getPart-Number}{tr:id=name}{td}h6.getPart{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSPart]{span}{span:style=font-weight: bold;}getPart{span}{span}\(type){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Number]} type -- The type of the part to retrieve.
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSPart] -- A JSPart instance representing the retrieved form part.{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
form.getPart(JSPart.HEADER).background = 'red';
form.getPart(JSPart.LEADING_SUBSUMMARY, 160).background = 'red';
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getVariable-String}{tr:id=name}{td}h6.getVariable{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSVariable]{span}{span:style=font-weight: bold;}getVariable{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the variable
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSVariable] -- a JSVariable object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var frm = solutionModel.getForm("myForm");
	var fvariable = frm.getVariable("myVarName");
	application.output(fvariable.name + " has the default value of " + fvariable.defaultValue);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getVariables}{tr:id=name}{td}h6.getVariables{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSVariable]\[]{span}{span:style=font-weight: bold;}getVariables{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSVariable]\[] -- an array of all variables on this form{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var frm = solutionModel.getForm("myForm");
var variables = frm.getVariables();
for (var i in variables)
	application.output(variables[i].name);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newBean-String_Number}{tr:id=name}{td}h6.newBean{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSBean]{span}{span:style=font-weight: bold;}newBean{span}{span}\(name, y){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the JSBean object
\{[Number]} y -- the vertical "y" position of the JSBean object, defines the order of elements on the form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSBean] -- a JSBean object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1', 'db:/server1/table1');
var bean = form.newBean('bean', 1);
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newButton-String_Number_JSMethod}{tr:id=name}{td}h6.newButton{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSButton]{span}{span:style=font-weight: bold;}newButton{span}{span}\(txt, y, jsmethod){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} txt -- the text on the button
\{[Number]} y -- the y coordinate of the button location on the form, defines the order of elements on the form
\{[JSMethod]} jsmethod -- the method assigned to handle an onAction event
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSButton] -- a new JSButton object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1', myDatasource);
var method = form.newMethod('function onAction(event) { application.output("onAction intercepted on " + event.getFormName()); }');
var button = form.newButton('myButton', 1, method);
application.output("The new button: " + button.name + " has the following onAction event handling method assigned " + button.onAction.getName());
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newCalendar-JSVariable_Number}{tr:id=name}{td}h6.newCalendar{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSCalendar]{span}{span:style=font-weight: bold;}newCalendar{span}{span}\(dataprovider, y){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[JSVariable]} dataprovider -- the specified dataprovider name/JSVariable of the JSField object
\{[Number]} y -- the vertical "y" position of the JSField object, defines the order of elements on the form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSCalendar] -- a new JSCalendar field{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1',myDatasource); 
//choose the dataprovider or JSVariable you want for the field
var x = null;
//global JSVariable as the dataprovider 
//x = solutionModel.newGlobalVariable('globals', 'myGlobal', JSVariable.DATETIME);
//or a form JSVariable as the dataprovider 
//x = form.newVariable('myFormVar', JSVariable.DATETIME);
var field = form.newCalendar(x,1);
//or a column data provider as the dataprovider
//field.dataProviderID = columnTextDataProvider;
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newCalendar-String_Number}{tr:id=name}{td}h6.newCalendar{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSCalendar]{span}{span:style=font-weight: bold;}newCalendar{span}{span}\(dataprovider, y){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} dataprovider -- the specified dataprovider name/JSVariable of the JSField object
\{[Number]} y -- the vertical "y" position of the JSField object, defines the order of elements on the form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSCalendar] -- a new JSCalendar field{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1',myDatasource); 
//choose the dataprovider or JSVariable you want for the field
var x = null;
//global JSVariable as the dataprovider 
//x = solutionModel.newGlobalVariable('globals', 'myGlobal', JSVariable.DATETIME);
//or a form JSVariable as the dataprovider 
//x = form.newVariable('myFormVar', JSVariable.DATETIME);
var field = form.newCalendar(x,1);
//or a column data provider as the dataprovider
//field.dataProviderID = columnTextDataProvider;
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newCheck-JSVariable_Number}{tr:id=name}{td}h6.newCheck{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSChecks]{span}{span:style=font-weight: bold;}newCheck{span}{span}\(dataprovider, y){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[JSVariable]} dataprovider -- the specified dataprovider name/JSVariable of the JSField object
\{[Number]} y -- the vertical "y" position of the JSField object, defines the order of elements on the form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSChecks] -- a new JSChecks field{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1',myDatasource); 
//choose the dataprovider or JSVariable you want for the field
var x = null;
//global JSVariable as the dataprovider 
//x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.INTEGER);
//x.defaultValue = "'1'";
//or a form JSVariable as the dataprovider 
//x = form.newVariable('myFormVar',JSVariable.INTEGER);
//x.defaultValue = "'1'";
var field = form.newCheck(x,1);
//or a column data provider as the dataprovider
//field.dataProviderID = columnTextDataProvider;
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newCheck-String_Number}{tr:id=name}{td}h6.newCheck{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSChecks]{span}{span:style=font-weight: bold;}newCheck{span}{span}\(dataprovider, y){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} dataprovider -- the specified dataprovider name/JSVariable of the JSField object
\{[Number]} y -- the vertical "y" position of the JSField object, defines the order of elements on the form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSChecks] -- a new JSChecks field{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1',myDatasource); 
//choose the dataprovider or JSVariable you want for the field
var x = null;
//global JSVariable as the dataprovider 
//x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.INTEGER);
//x.defaultValue = "'1'";
//or a form JSVariable as the dataprovider 
//x = form.newVariable('myFormVar',JSVariable.INTEGER);
//x.defaultValue = "'1'";
var field = form.newCheck(x,1);
//or a column data provider as the dataprovider
//field.dataProviderID = columnTextDataProvider;
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newCombobox-JSVariable_Number}{tr:id=name}{td}h6.newCombobox{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSCombobox]{span}{span:style=font-weight: bold;}newCombobox{span}{span}\(dataprovider, y){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[JSVariable]} dataprovider -- the specified dataprovider name/JSVariable of the JSField object
\{[Number]} y -- the vertical "y" position of the JSField object, defines the order of elements on the form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSCombobox] -- a new JSCombobox field{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1',myDatasource); 
//choose the dataprovider or JSVariable you want for the field
var x = null;
//global JSVariable as the dataprovider 
//x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.TEXT);
//x.defaultValue = "'Text from a global variable'";
//or a form JSVariable as the dataprovider 
//x = form.newVariable('myFormVar',JSVariable.TEXT);
//x.defaultValue = "'Text from a form variable'";
var field = form.newCombobox(x,1);
//or a column data provider as the dataprovider
//field.dataProviderID = columnTextDataProvider;
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newCombobox-String_Number}{tr:id=name}{td}h6.newCombobox{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSCombobox]{span}{span:style=font-weight: bold;}newCombobox{span}{span}\(dataprovider, y){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} dataprovider -- the specified dataprovider name/JSVariable of the JSField object
\{[Number]} y -- the vertical "y" position of the JSField object, defines the order of elements on the form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSCombobox] -- a new JSCombobox field{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1',myDatasource); 
//choose the dataprovider or JSVariable you want for the field
var x = null;
//global JSVariable as the dataprovider 
//x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.TEXT);
//x.defaultValue = "'Text from a global variable'";
//or a form JSVariable as the dataprovider 
//x = form.newVariable('myFormVar',JSVariable.TEXT);
//x.defaultValue = "'Text from a form variable'";
var field = form.newCombobox(x,1);
//or a column data provider as the dataprovider
//field.dataProviderID = columnTextDataProvider;
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newField-JSVariable_Number_Number}{tr:id=name}{td}h6.newField{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSField]{span}{span:style=font-weight: bold;}newField{span}{span}\(dataprovider, type, y){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[JSVariable]} dataprovider -- the specified dataprovider name/JSVariable of the JSField object
\{[Number]} type -- the display type of the JSField object (see the Solution Model \-> JSField node for display types)
\{[Number]} y -- the vertical "y" position of the JSField object, defines the order of elements on the form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSField]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1', myDatasource, null, true, 800, 600);
var variable = form.newVariable('myVar', JSVariable.TEXT);
variable.defaultValue = "'This is a default value (with triple quotes)!'";
var field = form.newField(variable, JSField.TEXT_FIELD, 1);
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newField-String_Number_Number}{tr:id=name}{td}h6.newField{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSField]{span}{span:style=font-weight: bold;}newField{span}{span}\(dataprovider, type, y){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} dataprovider -- the specified dataprovider name/JSVariable of the JSField object
\{[Number]} type -- the display type of the JSField object (see the Solution Model \-> JSField node for display types)
\{[Number]} y -- the vertical "y" position of the JSField object, defines the order of elements on the form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSField]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1', myDatasource, null, true, 800, 600);
var variable = form.newVariable('myVar', JSVariable.TEXT);
variable.defaultValue = "'This is a default value (with triple quotes)!'";
var field = form.newField(variable, JSField.TEXT_FIELD, 1);
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newFooter}{tr:id=name}{td}h6.newFooter{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSFooter]{span}{span:style=font-weight: bold;}newFooter{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSFooter] -- A JSFooter instance corresponding to the newly created Footer form part.{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var footer = form.newFooter();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newHeader}{tr:id=name}{td}h6.newHeader{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSHeader]{span}{span:style=font-weight: bold;}newHeader{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSHeader] -- A JSHeader instance corresponding to the newly created Header form part.{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var header = form.newHeader();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newInsetList-Number_String_String_String}{tr:id=name}{td}h6.newInsetList{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSInsetList]{span}{span:style=font-weight: bold;}newInsetList{span}{span}\(yLocation, relationName, headerText, textDataProviderID){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Number]} yLocation -- the vertical location of the inset list in the form's components list.
\{[String]} relationName -- the relation used to show data, just like it would happen in a related tab\-panel.
\{[String]} headerText -- can be null; it's a convenience argument for setting the title (header text) for the inset list.
\{[String]} textDataProviderID -- can be null; it's a convenience argument for setting the dataprovider that will be used to populate the main text area of the list's items.
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSInsetList] -- the newly created inset list.{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var f = solutionModel.newForm("created_by_sm_1","db:/udm/contacts");
// create an inset list
var insetList = f.newInsetList(8,"accountmanager_to_companies","Companies","company_name");
insetList.subtextDataProviderID = "company_description";
insetList.onAction = f.newMethod("function buttonPressed() { plugins.dialogs.showWarningDialog('Title', 'inset list clicked','OK'); }");
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newLabel-String_Number}{tr:id=name}{td}h6.newLabel{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSLabel]{span}{span:style=font-weight: bold;}newLabel{span}{span}\(txt, y){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} txt -- the specified text of the label object
\{[Number]} y -- the vertical "y" position of the label, defines the order of elements on the form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSLabel] -- a JSLabel object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1', myDatasource);
var label = form.newLabel('The text on the label', 1);
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newMethod-String}{tr:id=name}{td}h6.newMethod{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSMethod]{span}{span:style=font-weight: bold;}newMethod{span}{span}\(code){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} code -- the specified code for the new method
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSMethod] -- a new JSMethod object for this form{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1', myDatasource, null, true, 800, 600);
var method = form.newMethod('function aMethod(event){application.output("Hello world!");}');
var button = myListViewForm.newButton('Show message!',50,50,100,30,method);
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newPassword-JSVariable_Number}{tr:id=name}{td}h6.newPassword{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSPassword]{span}{span:style=font-weight: bold;}newPassword{span}{span}\(dataprovider, y){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[JSVariable]} dataprovider -- the specified dataprovider name/JSVariable of the JSField object
\{[Number]} y -- the vertical "y" position of the JSField object, defines the order of elements on the form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSPassword] -- a new JSPassword field{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1',myDatasource); 
//choose the dataprovider or JSVariable you want for the field
var x = null;
//global JSVariable as the dataprovider 
//x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.TEXT);
//or a form JSVariable as the dataprovider 
//x = form.newVariable('myFormVar',JSVariable.TEXT);
var field = form.newPassword(x,1);
//or a column data provider as the dataprovider
//field.dataProviderID = columnTextDataProvider;
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newPassword-String_Number}{tr:id=name}{td}h6.newPassword{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSPassword]{span}{span:style=font-weight: bold;}newPassword{span}{span}\(dataprovider, y){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} dataprovider -- the specified dataprovider name/JSVariable of the JSField object
\{[Number]} y -- the vertical "y" position of the JSField object, defines the order of elements on the form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSPassword] -- a new JSPassword field{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1',myDatasource); 
//choose the dataprovider or JSVariable you want for the field
var x = null;
//global JSVariable as the dataprovider 
//x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.TEXT);
//or a form JSVariable as the dataprovider 
//x = form.newVariable('myFormVar',JSVariable.TEXT);
var field = form.newPassword(x,1);
//or a column data provider as the dataprovider
//field.dataProviderID = columnTextDataProvider;
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newRadios-JSVariable_Number}{tr:id=name}{td}h6.newRadios{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSRadios]{span}{span:style=font-weight: bold;}newRadios{span}{span}\(dataprovider, y){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[JSVariable]} dataprovider -- the specified dataprovider name/JSVariable of the JSField object
\{[Number]} y -- the vertical "y" position of the JSField object, defines the order of elements on the form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSRadios] -- a new JSRadios field{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1',myDatasource); 
//choose the dataprovider or JSVariable you want for the field
var x = null;
//global JSVariable as the dataprovider 
//x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.TEXT);
//x.defaultValue = "'Text from a global variable'";
//or a form JSVariable as the dataprovider 
//x = form.newVariable('myFormVar',JSVariable.TEXT);
//x.defaultValue = "'Text from a form variable'";
var field = form.newRadios(x,1);
//or a column data provider as the dataprovider
//field.dataProviderID = columnTextDataProvider;
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newRadios-String_Number}{tr:id=name}{td}h6.newRadios{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSRadios]{span}{span:style=font-weight: bold;}newRadios{span}{span}\(dataprovider, y){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} dataprovider -- the specified dataprovider name/JSVariable of the JSField object
\{[Number]} y -- the vertical "y" position of the JSField object, defines the order of elements on the form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSRadios] -- a new JSRadios field{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1',myDatasource); 
//choose the dataprovider or JSVariable you want for the field
var x = null;
//global JSVariable as the dataprovider 
//x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.TEXT);
//x.defaultValue = "'Text from a global variable'";
//or a form JSVariable as the dataprovider 
//x = form.newVariable('myFormVar',JSVariable.TEXT);
//x.defaultValue = "'Text from a form variable'";
var field = form.newRadios(x,1);
//or a column data provider as the dataprovider
//field.dataProviderID = columnTextDataProvider;
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newTextArea-JSVariable_Number}{tr:id=name}{td}h6.newTextArea{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSTextArea]{span}{span:style=font-weight: bold;}newTextArea{span}{span}\(dataprovider, y){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[JSVariable]} dataprovider -- the specified dataprovider name/JSVariable of the JSField object
\{[Number]} y -- the vertical "y" position of the JSField object, defines the order of elements on the form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSTextArea] -- a new JSTextArea field{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1',myDatasource); 
//choose the dataprovider or JSVariable you want for the field
var x = null;
//global JSVariable as the dataprovider 
//x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.TEXT);
//x.defaultValue = "'Text from a global variable'";
//or a form JSVariable as the dataprovider 
//x = form.newVariable('myFormVar',JSVariable.TEXT);
//x.defaultValue = "'Text from a form variable'";
var field = form.newTextArea(x,1);
//or a column data provider as the dataprovider
//field.dataProviderID = columnTextDataProvider;
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newTextArea-String_Number}{tr:id=name}{td}h6.newTextArea{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSTextArea]{span}{span:style=font-weight: bold;}newTextArea{span}{span}\(dataprovider, y){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} dataprovider -- the specified dataprovider name/JSVariable of the JSField object
\{[Number]} y -- the vertical "y" position of the JSField object, defines the order of elements on the form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSTextArea] -- a new JSTextArea field{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1',myDatasource); 
//choose the dataprovider or JSVariable you want for the field
var x = null;
//global JSVariable as the dataprovider 
//x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.TEXT);
//x.defaultValue = "'Text from a global variable'";
//or a form JSVariable as the dataprovider 
//x = form.newVariable('myFormVar',JSVariable.TEXT);
//x.defaultValue = "'Text from a form variable'";
var field = form.newTextArea(x,1);
//or a column data provider as the dataprovider
//field.dataProviderID = columnTextDataProvider;
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newTextField-JSVariable_Number}{tr:id=name}{td}h6.newTextField{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSText]{span}{span:style=font-weight: bold;}newTextField{span}{span}\(dataprovider, y){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[JSVariable]} dataprovider -- the specified dataprovider name/JSVariable of the JSField object
\{[Number]} y -- the vertical "y" position of the JSField object, defines the order of elements on the form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSText] -- a new JSText field{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1',myDatasource); 
//choose the dataprovider or JSVariable you want for the Text Field
var x = null;
//global JSVariable as the dataprovider 
//x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.TEXT);
//x.defaultValue = "'Text from a global variable'";
//or a form JSVariable as the dataprovider 
//x = form.newVariable('myFormVar',JSVariable.TEXT);
//x.defaultValue = "'Text from a form variable'";
var textField = form.newTextField(x,1);
//or a column data provider as the dataprovider
//textField.dataProviderID = columnTextDataProvider;
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newTextField-String_Number}{tr:id=name}{td}h6.newTextField{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSText]{span}{span:style=font-weight: bold;}newTextField{span}{span}\(dataprovider, y){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} dataprovider -- the specified dataprovider name/JSVariable of the JSField object
\{[Number]} y -- the vertical "y" position of the JSField object, defines the order of elements on the form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSText] -- a new JSText field{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1',myDatasource); 
//choose the dataprovider or JSVariable you want for the Text Field
var x = null;
//global JSVariable as the dataprovider 
//x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.TEXT);
//x.defaultValue = "'Text from a global variable'";
//or a form JSVariable as the dataprovider 
//x = form.newVariable('myFormVar',JSVariable.TEXT);
//x.defaultValue = "'Text from a form variable'";
var textField = form.newTextField(x,1);
//or a column data provider as the dataprovider
//textField.dataProviderID = columnTextDataProvider;
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newVariable-String_Number}{tr:id=name}{td}h6.newVariable{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSVariable]{span}{span:style=font-weight: bold;}newVariable{span}{span}\(name, type){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the variable
\{[Number]} type -- the specified type of the variable (see Solution Model \-> JSVariable node constants)
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSVariable] -- a JSVariable object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1', myDatasource, null, true, 800, 600);
var variable = form.newVariable('myVar', JSVariable.TEXT , "'This is a default value (with triple quotes)!'");
//or variable = form.newVariable('myVar', JSVariable.TEXT)
//variable.defaultValue = "'This is a default value (with triple quotes)!'" // setting the default value after the variable is created requires form recreation
//variable.defaultValue = "{a:'First letter',b:'Second letter'}"   
var field = form.newField(variable, JSField.TEXT_FIELD, 100, 100, 200, 200);
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newVariable-String_Number_String}{tr:id=name}{td}h6.newVariable{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSVariable]{span}{span:style=font-weight: bold;}newVariable{span}{span}\(name, type, defaultValue){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the variable
\{[Number]} type -- the specified type of the variable (see Solution Model \-> JSVariable node constants)
\{[String]} defaultValue -- the default value as a javascript expression string
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSVariable] -- a JSVariable object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1', myDatasource, null, true, 800, 600);
var variable = form.newVariable('myVar', JSVariable.TEXT , "'This is a default value (with triple quotes)!'");
//or variable = form.newVariable('myVar', JSVariable.TEXT)
//variable.defaultValue = "'This is a default value (with triple quotes)!'" // setting the default value after the variable is created requires form recreation
//variable.defaultValue = "{a:'First letter',b:'Second letter'}"   
var field = form.newField(variable, JSField.TEXT_FIELD, 100, 100, 200, 200);
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeBean-String}{tr:id=name}{td}h6.removeBean{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}removeBean{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the JSBean to be removed
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean] -- true if the JSBean has been removed; false otherwise{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.getForm('myform');
form.removeBean('mybean')
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeButton-String}{tr:id=name}{td}h6.removeButton{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}removeButton{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the JSButton to be removed
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean] -- true if the JSButton has been removed; false otherwise{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newFormX',myDatasource,null,true,800,600);
var b1 = form.newButton('This is button1',100,100,200,50,null);
b1.name = 'b1';
var jsmethod = form.newMethod("function removeMe(event) { var form = solutionModel.getForm('newFormX'); if (form.removeButton('b1') == true) application.output('Button has been removed ok'); else application.output('Button could not be deleted'); forms['newFormX'].controller.recreateUI();}");
var b2 = form.newButton('Click here to remove button1',100,230,200,50,jsmethod);
b2.name = 'b2';
forms['newFormX'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeComponent-String}{tr:id=name}{td}h6.removeComponent{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}removeComponent{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the component to be deleted
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean] -- true if component has been successfully deleted; false otherwise{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newFormX','db:/server1/parent_table',null,true,1000,750);
var jsbutton = form.newButton('JSButton to delete',100,100,200,50,null);
jsbutton.name = 'jsb';
var jslabel = form.newLabel('JSLabel to delete',100,200,200,50,null);
jslabel.name = 'jsl';
jslabel.transparent = false;
jslabel.background = 'green';
var jsfield = form.newField('scopes.globals.myGlobalVariable',JSField.TEXT_FIELD,100,300,200,50);
jsfield.name = 'jsf';
var relation = solutionModel.newRelation('parentToChild','db:/server1/parent_table','db:/server1/child_table',JSRelation.INNER_JOIN);
relation.newRelationItem('parent_table_id', '=', 'child_table_id');
var jsportal = form.newPortal('jsp',relation,100,400,300,300);
jsportal.newField('child_table_id',JSField.TEXT_FIELD,200,200,120);
var childOne = solutionModel.newForm('childOne','db:/server1/child_table',null,false,400,300);
childOne.newField('child_table_id', JSField.TEXT_FIELD,10,10,100,20);
var childTwo = solutionModel.newForm('childTwo','server1','other_table',null,false,400,300);
childTwo.newField('some_table_id', JSField.TEXT_FIELD,10,10,100,100); 
var jstabpanel = form.newTabPanel('jst',450,30,620,460);
jstabpanel.newTab('tab1','Child One',childOne,relation);
jstabpanel.newTab('tab2','Child Two',childTwo);
var jsmethod = form.newMethod("function removeMe(event) { var form = solutionModel.getForm('newFormX');\n if ((form.removeComponent('jsb') == true) && (form.removeComponent('jsl') == true) && (form.removeComponent('jsf') == true) && (form.removeComponent('jsp') == true) & (form.removeComponent('jst') == true)) application.output('Components removed ok'); else application.output('Some component(s) could not be deleted'); forms['newFormX'].controller.recreateUI();}");
var removerButton = form.newButton('Click here to remove form components',450,500,250,50,jsmethod);
removerButton.name = 'remover';
forms['newFormX'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeField-String}{tr:id=name}{td}h6.removeField{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}removeField{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the JSField to remove
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean] -- true is the JSField has been successfully removed; false otherwise{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newFormX',myDatasource,null,true,800,600);
var jsfield = form.newField(scopes.globals.myGlobalVariable,JSField.TEXT_FIELD,100,300,200,50);
jsfield.name = 'jsf';
var jsmethod = form.newMethod("function removeMe(event) { var form = solutionModel.getForm('newFormX');\n if (form.removeComponent('jsf') == true) application.output('Field has been removed ok'); else application.output('Field could not be deleted'); forms['newFormX'].controller.recreateUI();}");
var removerButton = form.newButton('Click here to remove the field',450,500,250,50,jsmethod);
removerButton.name = 'remover';
forms['newFormX'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeFooter}{tr:id=name}{td}h6.removeFooter{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}removeFooter{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean] -- true if the JSFooter has successfully been removed; false otherwise{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.getForm('myform');
form.removeFooter()
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeHeader}{tr:id=name}{td}h6.removeHeader{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}removeHeader{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean] -- true if the JSHeader has successfully been removed; false otherwise{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.getForm('myform');
form.removeHeader()
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeInsetList-String}{tr:id=name}{td}h6.removeInsetList{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}removeInsetList{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- Inset List name.
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.getForm('test');
form.removeInsetList('myinsetlist');
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeLabel-String}{tr:id=name}{td}h6.removeLabel{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}removeLabel{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the JSLabel to be removed
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean] -- true if the JSLabel with the given name has successfully been removed; false otherwise{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newFormX',myDatasource,null,true,1000,750);
var jslabel = form.newLabel('JSLabel to delete',100,200,200,50,null);
jslabel.name = 'jsl';
jslabel.transparent = false;
jslabel.background = 'green';
var jsmethod = form.newMethod("function removeMe(event) { var form = solutionModel.getForm('newFormX'); if (form.removeComponent('jsl') == true) application.output('Label has been removed'); else application.output('Label could not be deleted'); forms['newFormX'].controller.recreateUI();}");
var removerButton = form.newButton('Click here to remove the green label',450,500,250,50,jsmethod);
removerButton.name = 'remover';
forms['newFormX'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeMethod-String}{tr:id=name}{td}h6.removeMethod{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}removeMethod{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the method
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean] -- true if method was removed successfully , false otherwise{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1', null, null, true, 800, 600);
var hello = form.newMethod('function aMethod(event){application.output("Hello world!");}');
var removeMethod = form.newMethod('function removeMethod(event){ \
									solutionModel.getForm(event.getFormName()).removeMethod("aMethod"); \
									forms[event.getFormName()].controller.recreateUI();\
									}');
var button1 = form.newButton('Call method!',50,50,120,30,hello);
var button2 = form.newButton('Remove Mehtod!',200,50,120,30,removeMethod);
forms['newForm1'].controller.show();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeVariable-String}{tr:id=name}{td}h6.removeVariable{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}removeVariable{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the variable
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean] -- true if removed, false otherwise (ex: no var with that name){div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('newForm1', null, null, true, 800, 600);
var variable = form.newVariable('myVar', JSVariable.TEXT);
variable.defaultValue = "'This is a default value (with triple quotes)!'";
//variable.defaultValue = "{a:'First letter',b:'Second letter'}"
var field = form.newField(variable, JSField.TEXT_FIELD, 100, 100, 200, 200);
forms['newForm1'].controller.show();

variable = form.removeVariable('myVar');
application.sleep(4000);
forms['newForm1'].controller.recreateUI();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}