{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{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}