Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{hidden}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY, UNLESS YOU KNOW WHAT YOU'RE DOING.
		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO EXTRACT CHANGES FROM THE PAGE AND MERGE THEM BACK INTO SERVOY SOURCE{hidden}
{sub-section:description|text=}{sub-section}\\ 

{table:id=|class=servoy sReturnTypes}{tr:style=height: 30px;}{th}Return Types{th}{tr}{tr}{td}{span:class=sWordList}[ALIGNMENT]{span}{span:class=sWordList}[ANCHOR]{span}{span:class=sWordList}[BEVELTYPE]{span}{span:class=sWordList}[CURSOR]{span}{span:class=sWordList}[DEFAULTS]{span}{span:class=sWordList}[FONTSTYLE]{span}{span:class=sWordList}[JSBean]{span}{span:class=sWordList}[JSButton]{span}{span:class=sWordList}[JSCalculation]{span}{span:class=sWordList}[JSComponent]{span}{span:class=sWordList}[JSDataSourceNode]{span}{span:class=sWordList}[JSField]{span}{span:class=sWordList}[JSForm]{span}{span:class=sWordList}[JSLabel]{span}{span:class=sWordList}[JSMedia]{span}{span:class=sWordList}[JSMethod]{span}{span:class=sWordList}[JSPart]{span}{span:class=sWordList}[JSPortal]{span}{span:class=sWordList}[JSRelation]{span}{span:class=sWordList}[JSRelationItem]{span}{span:class=sWordList}[JSStyle]{span}{span:class=sWordList}[JSTab]{span}{span:class=sWordList}[JSTabPanel]{span}{span:class=sWordList}[JSValueList]{span}{span:class=sWordList}[JSVariable]{span}{span:class=sWordList}[MEDIAOPTION]{span}{span:class=sWordList}[PAGEORIENTATION]{span}{span:class=sWordList}[PRINTSLIDING]{span}{span:class=sWordList}[SCROLLBAR]{span}{span:class=sWordList}[TITLEJUSTIFICATION]{span}{span:class=sWordList}[TITLEPOSITION]{span}{span:class=sWordList}[UNITS]{span}{td}{tr}{table}\\ 

{table:id=|class=servoy sSummary}{colgroup}{column:padding=0px|width=80px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{th}{tr}{tbody}{tr}{td}[JSComponent]{td}{td}[#cloneComponent]\(newName, component)
Makes an exact copy of the given component (JSComponent/JSField/JSLabel) and gives it a new name.{td}{tr}{tbody}{tbody}{tr}{td}[JSComponent]{td}{td}[#cloneComponent]\(newName, component, newParentForm)
Makes an exact copy of the given component (JSComponent/JSField/JSLabel), gives it a new name and moves it to a new parent form, specified as a parameter.{td}{tr}{tbody}{tbody}{tr}{td}[JSForm]{td}{td}[#cloneForm]\(newName, jsForm)
Makes an exact copy of the given form and gives it the new name.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#createBevelBorder]\(bevel_type, highlight_outer_color, highlight_inner_color, shadow_outer_color, shadow_inner_color)
Create a bevel border string.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#createEmptyBorder]\(top_width, right_width, bottom_width, left_width)
Create an empty border string.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#createEtchedBorder]\(bevel_type, highlight_color, shadow_color)
Create an etched border string.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#createFont]\(name, style, size)
Create a font string.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#createLineBorder]\(thick, color)
Create a line border string.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#createMatteBorder]\(top_width, right_width, bottom_width, left_width, color)
Create a matte border string.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#createPageFormat]\(width, height, leftmargin, rightmargin, topmargin, bottommargin)
Create a page format string.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#createPageFormat]\(width, height, leftmargin, rightmargin, topmargin, bottommargin, orientation)
Create a page \[orientation\], \[units\]format string.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#createPageFormat]\(width, height, leftmargin, rightmargin, topmargin, bottommargin, orientation, units)
Create a page format string.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#createSpecialMatteBorder#createRoundedBorder]\(top_width, right_width, bottom_width, left_width, top_color, right_color, bottom_color, left_color, rounding_radius, dashborder_patternstyle)
Create a special matte border string.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#createTitledBorder#createSpecialMatteBorder]\(title_text, font, color, title_justification, title_positiontop_width, right_width, bottom_width, left_width, top_color, right_color, bottom_color, left_color, rounding_radius, dash_pattern)
Create a special titledmatte border string.{td}{tr}{tbody}{tbody}{tr}{td}[JSCalculationString]{td}{td}[#getCalculation#createTitledBorder]\(nametitle_text, datasource)
Get an existing calculation for the given name and datasourcefont, color, title_justification, title_position)
Create a titled border string.{td}{tr}{tbody}{tbody}{tr}{td}[JSCalculationJSDataSourceNode]\[]{td}{td}[#getCalculations#getDataSourceNode]\(datasourcedataSource)
Gets all the calculations for the given datasource the specified data source node and returns information about the form (see JSDataSourceNode node).{td}{tr}{tbody}{tbody}{tr}{td}[JSForm]{td}{td}[#getForm]\(name)
Gets the specified form object and returns information about the form (see JSForm node).{td}{tr}{tbody}{tbody}{tr}{td}[JSForm]\[]{td}{td}[#getForms]\()
Get an array of all forms.{td}{tr}{tbody}{tbody}{tr}{td}[JSForm]\[]{td}{td}[#getForms]\(datasource)
Get an array of forms, that are all based on datasource/servername.{td}{tr}{tbody}{tbody}{tr}{td}[JSForm]\[]{td}{td}[#getForms]\(server, tablename)
Get an array of forms, that are all based on datasource/servername and tablename.{td}{tr}{tbody}{tbody}{tr}{td}[JSMethod]{td}{td}[#getGlobalMethod]\(scopeName, name)
Gets an existing global method by the specified name.{td}{tr}{tbody}{tbody}{tr}{td}[JSMethod]\[]{td}{td}[#getGlobalMethods]\()
The list of all global methods.{td}{tr}{tbody}{tbody}{tr}{td}[JSMethod]\[]{td}{td}[#getGlobalMethods]\(scopeName)
The list of all global methods.{td}{tr}{tbody}{tbody}{tr}{td}[JSVariable]{td}{td}[#getGlobalVariable]\(scopeName, name)
Gets an existing global variable by the specified name.{td}{tr}{tbody}{tbody}{tr}{td}[JSVariable]\[]{td}{td}[#getGlobalVariables]\()
Gets an array of all global variables.{td}{tr}{tbody}{tbody}{tr}{td}[JSVariable]\[]{td}{td}[#getGlobalVariables]\(scopeName)
Gets an array of all global variables.{td}{tr}{tbody}{tbody}{tr}{td}[JSMedia]{td}{td}[#getMedia]\(name)
Gets the specified media object; can be assigned to a button/label.{td}{tr}{tbody}{tbody}{tr}{td}[JSMedia]\[]{td}{td}[#getMediaList]\()
Gets the list of all media objects.{td}{tr}{tbody}{tbody}{tr}{td}[JSRelation]{td}{td}[#getRelation]\(name)
Gets an existing relation by the specified name and returns a JSRelation Object.{td}{tr}{tbody}{tbody}{tr}{td}[JSRelation]\[]{td}{td}[#getRelations]\(\[primary_server_name/primary_data_source\], \[primary_table_name\]datasource)
Gets an array of all relations; or an array of all global relations if the specified table is NULL.{td}{tr}{tbody}{tbody}{tr}{td}[JSRelation]\[JSStyle]{td}{td}[#getStyle#getRelations]\(nameservername, tablename)
Gets the style specified by the given name. an array of all relations; or an array of all global relations if the specified table is NULL.{td}{tr}{tbody}{tbody}{tr}{td}[String]\[JSValueList]{td}{td}[#getValueList#getScopeNames]\(name)
Gets an existingarray valuelistof byall thescope specified name and returns a JSValueList Object that can be assigned to a fieldnames used.{td}{tr}{tbody}{tbody}{tr}{td}[JSValueList]\[JSStyle]{td}{td}[#getValueLists#getStyle]\(name)
Gets anthe arraystyle ofspecified all valuelistsby for the currentlygiven active solutionname.{td}{tr}{tbody}{tbody}{tr}{td}[JSCalculationJSValueList]{td}{td}[#newCalculation#getValueList]\(code, type, datasourcename)
CreatesGets aan newexisting calculationvaluelist forby the givenspecified codename and thereturns type,a ifJSValueList itObject buildsthat oncan abe column (name isassigned to a column name) then type will be ignoredfield.{td}{tr}{tbody}{tbody}{tr}{td}[JSValueList]\[JSCalculation]{td}{td}[#newCalculation#getValueLists]\(code, datasource)
CreatesGets aan newarray calculationof forall the given code,valuelists for the typecurrently will be the column where it could be build on (if name is a column name),
else it will default to JSVariableactive solution.{td}{tr}{tbody}{tbody}{tr}{td}[JSForm]{td}{td}[#newForm]\(name, superForm)
Creates a new form with the given JSForm as its super form.{td}{tr}{tbody}{tbody}{tr}{td}[JSForm]{td}{td}[#newForm]\(name, dataSource, styleName, show_in_menu, width, height)
Creates a new JSForm Object.{td}{tr}{tbody}{tbody}{tr}{td}[JSForm]{td}{td}[#newForm]\(name, serverName, tableName, styleName, show_in_menu, width, height)
Creates a new JSForm Object.{td}{tr}{tbody}{tbody}{tr}{td}[JSMethod]{td}{td}[#newGlobalMethod]\(scopeName, code)
Creates a new global method with the specified code in a scope.{td}{tr}{tbody}{tbody}{tr}{td}[JSVariable]{td}{td}[#newGlobalVariable]\(scopeName, name, type)
Creates a new global variable with the specified name and number type.{td}{tr}{tbody}{tbody}{tr}{td}[JSMedia]{td}{td}[#newMedia]\(name, bytes)
Creates a new media object that can be assigned to a label or a button.{td}{tr}{tbody}{tbody}{tr}{td}[JSRelation]{td}{td}[#newRelation]\(name, primaryDataSource, foreignDataSource, joinType)
Creates a new JSRelation Object with a specified name; includes the primary datasource, foreign datasource and the type of join for the new relation.{td}{tr}{tbody}{tbody}{tr}{td}[JSRelationJSStyle]{td}{td}[#newRelation]\(name, primaryServerName, primaryTableName, foreignServerName, foreignTableName, joinType)
Creates a new JSRelation Object with a specified name; includes the primary server and table name, foreign server and table name, and the type of join for the new relation.{td}{tr}{tbody}{tbody}{tr}{td}[JSStyle]{td}{td}[#newStyle]\(name, content)
Creates a new style with the given css content string under the given name.{td}{tr}{tbody}{tbody}{tr}{td}[JSValueList]{td}{td}[#newValueList]\(name, type)
Creates a new valuelist with the specified name and number type.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeCalculation]\(name, datasource)
Removes the calculation specified by name and datasource.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeForm]\(name)
Removes the specified form during the persistent connected client session.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeGlobalMethod]\(scopeName, name)
Removes the specified global method.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeGlobalVariable]\(scopeName, name)
Removes the specified global variable.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeMedia]\(name)
Removes the media item specified by name.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeRelation]\(name)
Removes the relation specified by name.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeStyle]\(name)
Removes the specified style.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#removeValueList]\(name)
Removes the specified valuelist.{td}{tr}{tbody}{tbody}{tr}{td}[JSForm]{td}{td}[#revertForm]\(name)
Reverts the specified form to the original (blueprint) version of the form; will result in an exception error if the form is not an original form.{td}{tr}{tbody}{tbody}{tr}{td}[JSMethod]{td}{td}[#wrapMethodWithArguments]\(method, args)
Get a JSMethod instance with arguments to be assigned to an event.{td}{tr}{tbody}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:padding=0px|width=100%}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=cloneComponent-String_JSComponent|class=node}{tr:id=name}{td}h6.cloneComponent{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSComponent]{span}{span:id=iets|style=float: left; font-weight: bold;}cloneComponent{span}{span:id=iets|style=float: left;}\(newName, component){span}{td}{tr}{tr:id=des}{td}{sub-section:cloneComponent-String_JSComponent_des|text=|trigger=button}{sub-section}{sub-section:cloneComponent-String_JSComponent_des|trigger=none|class=sIndent}Makes an exact copy of the given component (JSComponent/JSField/JSLabel) and gives it a new name.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:cloneComponent-String_JSComponent_snc|text=|trigger=button}{sub-section}{sub-section:cloneComponent-String_JSComponent_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:cloneComponent-String_JSComponent_prs|text=|trigger=button}{sub-section}{sub-section:cloneComponent-String_JSComponent_prs|trigger=none|class=sIndent}\{[String]} newName -- the new name of the cloned component
\{[JSComponent]} component -- the component to clone
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:cloneComponent-String_JSComponent_ret|text=|trigger=button}{sub-section}{sub-section:cloneComponent-String_JSComponent_ret|trigger=none|class=sIndent}[JSComponent] -- the exact copy of the given component{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:cloneComponent-String_JSComponent_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:cloneComponent-String_JSComponent_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:cloneComponent-String_JSComponent_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:cloneComponent-String_JSComponent_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:cloneComponent-String_JSComponent_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:cloneComponent-String_JSComponent_sam|trigger=none}{code:language=javascript}
// get an existing field to clone.
var field = solutionModel.getForm("formWithField").getField("fieldName");
// make a clone/copy of the field
var clone = solutionModel.cloneComponent("clonedField",field);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=cloneComponent-String_JSComponent_JSForm|class=node}{tr:id=name}{td}h6.cloneComponent{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSComponent]{span}{span:id=iets|style=float: left; font-weight: bold;}cloneComponent{span}{span:id=iets|style=float: left;}\(newName, component, newParentForm){span}{td}{tr}{tr:id=des}{td}{sub-section:cloneComponent-String_JSComponent_JSForm_des|text=|trigger=button}{sub-section}{sub-section:cloneComponent-String_JSComponent_JSForm_des|trigger=none|class=sIndent}Makes an exact copy of the given component (JSComponent/JSField/JSLabel), gives it a new name and moves it to a new parent form, specified as a parameter.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:cloneComponent-String_JSComponent_JSForm_snc|text=|trigger=button}{sub-section}{sub-section:cloneComponent-String_JSComponent_JSForm_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:cloneComponent-String_JSComponent_JSForm_prs|text=|trigger=button}{sub-section}{sub-section:cloneComponent-String_JSComponent_JSForm_prs|trigger=none|class=sIndent}\{[String]} newName -- the new name of the cloned component
\{[JSComponent]} component -- the component to clone
\{[JSForm]} newParentForm -- the new parent form
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:cloneComponent-String_JSComponent_JSForm_ret|text=|trigger=button}{sub-section}{sub-section:cloneComponent-String_JSComponent_JSForm_ret|trigger=none|class=sIndent}[JSComponent] -- the exact copy of the given component{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:cloneComponent-String_JSComponent_JSForm_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:cloneComponent-String_JSComponent_JSForm_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:cloneComponent-String_JSComponent_JSForm_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:cloneComponent-String_JSComponent_JSForm_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:cloneComponent-String_JSComponent_JSForm_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:cloneComponent-String_JSComponent_JSForm_sam|trigger=none}{code:language=javascript}
// get an existing field to clone.
var field = solutionModel.getForm("formWithField").getField("fieldName");
// get the target form for the copied/cloned field
var form = solutionModel.getForm("targetForm");
// make a clone/copy of the field and re parent it to the target form.
var clone = solutionModel.cloneComponent("clonedField",field,form);
// show it
forms["targetForm"].controller.show();
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=cloneForm|class=node}{tr:id=name}{td}h6.cloneForm{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSForm]{span}{span:id=iets|style=float: left; font-weight: bold;}cloneForm{span}{span:id=iets|style=float: left;}\(newName, jsForm){span}{td}{tr}{tr:id=des}{td}{sub-section:cloneForm_des|text=|trigger=button}{sub-section}{sub-section:cloneForm_des|trigger=none|class=sIndent}Makes an exact copy of the given form and gives it the new name.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:cloneForm_snc|text=|trigger=button}{sub-section}{sub-section:cloneForm_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:cloneForm_prs|text=|trigger=button}{sub-section}{sub-section:cloneForm_prs|trigger=none|class=sIndent}\{[String]} newName -- the new name for the form clone
\{[JSForm]} jsForm -- the form to be cloned
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:cloneForm_ret|text=|trigger=button}{sub-section}{sub-section:cloneForm_ret|trigger=none|class=sIndent}[JSForm] -- a JSForm{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:cloneForm_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:cloneForm_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:cloneForm_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:cloneForm_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:cloneForm_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:cloneForm_sam|trigger=none}{code:language=javascript}
// get an existing form
var form = solutionModel.getForm("existingForm")
// make a clone/copy from it
var clone = solutionModel.cloneForm("clonedForm", form)
// add a new label to the clone
clone.newLabel("added label",50,50,80,20);
// show it
forms["clonedForm"].controller.show();
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createBevelBorder|class=node}{tr:id=name}{td}h6.createBevelBorder{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}createBevelBorder{span}{span:id=iets|style=float: left;}\(bevel_type, highlight_outer_color, highlight_inner_color, shadow_outer_color, shadow_inner_color){span}{td}{tr}{tr:id=des}{td}{sub-section:createBevelBorder_des|text=|trigger=button}{sub-section}{sub-section:createBevelBorder_des|trigger=none|class=sIndent}Create a bevel border string.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createBevelBorder_snc|text=|trigger=button}{sub-section}{sub-section:createBevelBorder_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:createBevelBorder_prs|text=|trigger=button}{sub-section}{sub-section:createBevelBorder_prs|trigger=none|class=sIndent}\{[Number]} bevel_type -- bevel border type (SM\_BEVELTYPE.RAISED or SM\_BEVELTYPE.LOWERED)
\{[String]} highlight_outer_color -- bevel border highlight outer color
\{[String]} highlight_inner_color -- bevel border highlight inner color
\{[String]} shadow_outer_color -- bevel border shadow outer color
\{[String]} shadow_inner_color -- bevel border shadow outer color
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createBevelBorder_ret|text=|trigger=button}{sub-section}{sub-section:createBevelBorder_ret|trigger=none|class=sIndent}[String]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createBevelBorder_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createBevelBorder_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createBevelBorder_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createBevelBorder_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createBevelBorder_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createBevelBorder_sam|trigger=none}{code:language=javascript}
var form = solutionModel.getForm("someForm");
form.borderType = solutionModel.createBevelBorder(SM_BEVELTYPE.RAISED,'#ff0000','#00ff00','#ff0000','#00ff00');
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createEmptyBorder|class=node}{tr:id=name}{td}h6.createEmptyBorder{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}createEmptyBorder{span}{span:id=iets|style=float: left;}\(top_width, right_width, bottom_width, left_width){span}{td}{tr}{tr:id=des}{td}{sub-section:createEmptyBorder_des|text=|trigger=button}{sub-section}{sub-section:createEmptyBorder_des|trigger=none|class=sIndent}Create an empty border string.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createEmptyBorder_snc|text=|trigger=button}{sub-section}{sub-section:createEmptyBorder_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:createEmptyBorder_prs|text=|trigger=button}{sub-section}{sub-section:createEmptyBorder_prs|trigger=none|class=sIndent}\{[Number]} top_width -- top width of empty border in pixels
\{[Number]} right_width -- right width of empty border in pixels
\{[Number]} bottom_width -- bottom width of empty border in pixels
\{[Number]} left_width -- left width of empty border in pixels
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createEmptyBorder_ret|text=|trigger=button}{sub-section}{sub-section:createEmptyBorder_ret|trigger=none|class=sIndent}[String]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createEmptyBorder_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createEmptyBorder_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createEmptyBorder_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createEmptyBorder_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createEmptyBorder_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createEmptyBorder_sam|trigger=none}{code:language=javascript}
var form = solutionModel.getForm("someForm");
form.borderType = solutionModel.createEmptyBorder(1,1,1,1);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createEtchedBorder|class=node}{tr:id=name}{td}h6.createEtchedBorder{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}createEtchedBorder{span}{span:id=iets|style=float: left;}\(bevel_type, highlight_color, shadow_color){span}{td}{tr}{tr:id=des}{td}{sub-section:createEtchedBorder_des|text=|trigger=button}{sub-section}{sub-section:createEtchedBorder_des|trigger=none|class=sIndent}Create an etched border string.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createEtchedBorder_snc|text=|trigger=button}{sub-section}{sub-section:createEtchedBorder_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:createEtchedBorder_prs|text=|trigger=button}{sub-section}{sub-section:createEtchedBorder_prs|trigger=none|class=sIndent}\{[Number]} bevel_type -- bevel border type
\{[String]} highlight_color -- bevel border highlight color
\{[String]} shadow_color -- bevel border shadow color
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createEtchedBorder_ret|text=|trigger=button}{sub-section}{sub-section:createEtchedBorder_ret|trigger=none|class=sIndent}[String]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createEtchedBorder_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createEtchedBorder_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createEtchedBorder_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createEtchedBorder_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createEtchedBorder_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createEtchedBorder_sam|trigger=none}{code:language=javascript}
var form = solutionModel.getForm("someForm");
form.borderType = solutionModel.createEtchedBorder(SM_BEVELTYPE.RAISED,'#ff0000','#00ff00');
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createFont|class=node}{tr:id=name}{td}h6.createFont{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}createFont{span}{span:id=iets|style=float: left;}\(name, style, size){span}{td}{tr}{tr:id=des}{td}{sub-section:createFont_des|text=|trigger=button}{sub-section}{sub-section:createFont_des|trigger=none|class=sIndent}Create a font string.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createFont_snc|text=|trigger=button}{sub-section}{sub-section:createFont_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:createFont_prs|text=|trigger=button}{sub-section}{sub-section:createFont_prs|trigger=none|class=sIndent}\{[String]} name -- the name of the font
\{[Number]} style -- the style of the font (PLAIN, BOLD, ITALIC or BOLD+ITALIC)
\{[Number]} size -- the font size
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createFont_ret|text=|trigger=button}{sub-section}{sub-section:createFont_ret|trigger=none|class=sIndent}[String]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createFont_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createFont_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createFont_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createFont_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createFont_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createFont_sam|trigger=none}{code:language=javascript}
var form = solutionModel.getForm("someForm");
var component = form.getComponent("someComponent")
component.fontType = solutionModel.createFont('Arial',SM_FONTSTYLE.BOLD,14);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createLineBorder|class=node}{tr:id=name}{td}h6.createLineBorder{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}createLineBorder{span}{span:id=iets|style=float: left;}\(thick, color){span}{td}{tr}{tr:id=des}{td}{sub-section:createLineBorder_des|text=|trigger=button}{sub-section}{sub-section:createLineBorder_des|trigger=none|class=sIndent}Create a line border string.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createLineBorder_snc|text=|trigger=button}{sub-section}{sub-section:createLineBorder_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:createLineBorder_prs|text=|trigger=button}{sub-section}{sub-section:createLineBorder_prs|trigger=none|class=sIndent}\{[Number]} thick -- border thickness in pixels
\{[String]} color -- color of the line border
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createLineBorder_ret|text=|trigger=button}{sub-section}{sub-section:createLineBorder_ret|trigger=none|class=sIndent}[String]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createLineBorder_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createLineBorder_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createLineBorder_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createLineBorder_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createLineBorder_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createLineBorder_sam|trigger=none}{code:language=javascript}
var form = solutionModel.getForm("someForm");
form.borderType = solutionModel.createLineBorder(1,'#ff0000');
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createMatteBorder|class=node}{tr:id=name}{td}h6.createMatteBorder{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}createMatteBorder{span}{span:id=iets|style=float: left;}\(top_width, right_width, bottom_width, left_width, color){span}{td}{tr}{tr:id=des}{td}{sub-section:createMatteBorder_des|text=|trigger=button}{sub-section}{sub-section:createMatteBorder_des|trigger=none|class=sIndent}Create a matte border string.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createMatteBorder_snc|text=|trigger=button}{sub-section}{sub-section:createMatteBorder_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:createMatteBorder_prs|text=|trigger=button}{sub-section}{sub-section:createMatteBorder_prs|trigger=none|class=sIndent}\{[Number]} top_width -- top width of matte border in pixels
\{[Number]} right_width -- right width of matte border in pixels
\{[Number]} bottom_width -- bottom width of matte border in pixels
\{[Number]} left_width -- left width of matte border in pixels
\{[String]} color -- border color
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createMatteBorder_ret|text=|trigger=button}{sub-section}{sub-section:createMatteBorder_ret|trigger=none|class=sIndent}[String]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createMatteBorder_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createMatteBorder_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createMatteBorder_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createMatteBorder_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createMatteBorder_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createMatteBorder_sam|trigger=none}{code:language=javascript}
var form = solutionModel.getForm("someForm");
form.borderType = solutionModel.createMatteBorder(1,1,1,1,"#00ff00");
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createPageFormat-Number_Number_Number_Number_Number_Number|class=node}{tr:id=name}{td}h6.createPageFormat{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}createPageFormat{span}{span:id=iets|style=float: left;}\(width, height, leftmargin, rightmargin, topmargin, bottommargin, \[orientation\], \[units\]){span}{td}{tr}{tr:id=des}{td}{sub-section:createPageFormat-Number_Number_Number_Number_Number_Number_des|text=|trigger=button}{sub-section}{sub-section:createPageFormat-Number_Number_Number_Number_Number_Number_des|trigger=none|class=sIndent}Create a page format string.

Note: The unit specified for width, height and all margins MUST be the same.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createPageFormat_snc-Number_Number_Number_Number_Number_Number_snc|text=|trigger=button}{sub-section}{sub-section:createPageFormat-Number_Number_Number_Number_Number_Number_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:createPageFormat-Number_Number_Number_Number_Number_Number_prs|text=|trigger=button}{sub-section}{sub-section:createPageFormat-Number_Number_Number_Number_Number_Number_prs|trigger=none|class=sIndent}\{[Number]} width -- the specified width of the page to be printed.
\{[Number]} height -- the specified height of the page to be printed.
\{[Number]} leftmargin -- the specified left margin of the page to be printed.
\{[Number]} rightmargin -- the specified right margin of the page to be printed.
\{[Number]} topmargin -- the specified top margin of the page to be printed.
\{[Number]} bottommargin -- the specified bottom margin of the page to be printed.
\[orientation\] -- the specified orientation of the page to
be printed; the default is Portrait mode
\[units\] -- the specified units for the width and height of the page to be printed; the default is pixels
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createPageFormat-Number_Number_Number_Number_Number_Number_ret|text=|trigger=button}{sub-section}{sub-section:createPageFormat-Number_Number_Number_Number_Number_Number_ret|trigger=none|class=sIndent}[String]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createPageFormat-Number_Number_Number_Number_Number_Number_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createPageFormat-Number_Number_Number_Number_Number_Number_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createPageFormat_link|-Number_Number_Number_Number_Number_Number_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createPageFormat-Number_Number_Number_Number_Number_Number_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createPageFormat-Number_Number_Number_Number_Number_Number_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createPageFormat-Number_Number_Number_Number_Number_Number_sam|trigger=none}{code:language=javascript}
var form = solutionModel.getForm("someForm");
form.defaultPageFormat = solutionModel.createPageFormat(612,792,72,72,72,72,SM_ORIENTATION.PORTRAIT,SM_UNITS.PIXELS);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createSpecialMatteBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number|class=node}{tr:id=name}{td}h6.createSpecialMatteBordercreatePageFormat{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}createSpecialMatteBordercreatePageFormat{span}{span:id=iets|style=float: left;}\(top_width, right_widthheight, bottom_widthleftmargin, left_widthrightmargin, top_colortopmargin, right_color, bottom_color, left_color, rounding_radius, dash_patternbottommargin, orientation){span}{td}{tr}{tr:id=des}{td}{sub-section:createSpecialMatteBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_des|text=|trigger=button}{sub-section}{sub-section:createSpecialMatteBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_des|trigger=none|class=sIndent}Create a special matte border string page format string.

Note: The unit specified for width, height and all margins MUST be the same.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createSpecialMatteBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_snc|text=|trigger=button}{sub-section}{sub-section:createSpecialMatteBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:createSpecialMatteBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_prs|text=|trigger=button}{sub-section}{sub-section:createSpecialMatteBorder_createPageFormat-Number_Number_Number_Number_Number_Number_Number_prs|trigger=none|class=sIndent}\{[Number]} top_width -- topthe specified width of mattethe page borderto inbe pixelsprinted.
\{[Number]} right_widthheight -- the rightspecified widthheight of mattethe page borderto inbe pixelsprinted.
\{[Number]} bottom_widthleftmargin -- the specified bottomleft widthmargin of the mattepage borderto inbe pixelsprinted.
\{[Number]} left_widthrightmargin -- the specified leftright widthmargin of mattethe page borderto inbe pixelsprinted.
\{[StringNumber]} top_colortopmargin -- the specified top bordermargin color
\{[String]} right_color -- right border colorof the page to be printed.
\{[StringNumber]} bottom_colorbottommargin -- the specified bottom bordermargin color
\{[String]} left_color -- left border colorof the page to be printed.
\{[Number]} rounding_radiusorientation -- width of the arcspecified toorientation roundof the corners
\{[Number]\[]} dash_pattern --page to be printed; the dashdefault patternis ofPortrait bordermode
stroke
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createSpecialMatteBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_ret|text=|trigger=button}{sub-section}{sub-section:createSpecialMatteBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_ret|trigger=none|class=sIndent}[String]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createSpecialMatteBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createSpecialMatteBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createSpecialMatteBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createSpecialMatteBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createSpecialMatteBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createSpecialMatteBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_sam|trigger=none}{code:language=javascript}
var form = solutionModel.getForm("someForm");
// create a rectangle border (no rounded corners) and continous line
form.borderTypedefaultPageFormat = solutionModel.createSpecialMatteBordercreatePageFormat(1612,1792,172,172,"#00ff00","#00ff00","#00ff00","#00ff00",0,null);
// create a border with rounded corners and dashed line (25 pixels drawn, then 25 pixels skipped)
// form.borderType = solutionModel.createSpecialMatteBorder(1,1,1,1,"#00ff00","#00ff00","#00ff00","#00ff00",10,new Array(25,25));
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{72,72,SM_ORIENTATION.PORTRAIT,SM_UNITS.PIXELS);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createTitledBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_Number|class=node}{tr:id=name}{td}h6.createTitledBordercreatePageFormat{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}createTitledBordercreatePageFormat{span}{span:id=iets|style=float: left;}\(title_textwidth, height, leftmargin, rightmargin, fonttopmargin, colorbottommargin, title_justificationorientation, title_positionunits){span}{td}{tr}{tr:id=des}{td}{sub-section:createTitledBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_Number_des|text=|trigger=button}{sub-section}{sub-section:createTitledBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_Number_des|trigger=none|class=sIndent}Create a titledpage border stringformat string.

Note: The unit specified for width, height and all margins MUST be the same.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createTitledBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_Number_snc|text=|trigger=button}{sub-section}{sub-section:createTitledBorder_createPageFormat-Number_Number_Number_Number_Number_Number_Number_Number_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:createTitledBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_Number_prs|text=|trigger=button}{sub-section}{sub-section:createTitledBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_Number_prs|trigger=none|class=sIndent}\{[StringNumber]} title_textwidth -- the text from border specified width of the page to be printed.
\{[StringNumber]} fontheight -- title text font string the specified height of the page to be printed.
\{[StringNumber]} colorleftmargin -- border color the specified left margin of the page to be printed.
\{[Number]} title_justificationrightmargin -- title text justificationthe specified right margin of the page to be printed.
\{[Number]} title_positiontopmargin -- bevel title text position
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createTitledBorder_ret|text=|trigger=button}{sub-section}{sub-section:createTitledBorder_ret|trigger=none|class=sIndent}[String] the specified top margin of the page to be printed.
\{[Number]} bottommargin -- the specified bottom margin of the page to be printed.
\{[Number]} orientation -- the specified orientation of the page to be printed; the default is Portrait mode
\{[Number]} units -- the specified units for the width and height of the page to be printed; the default is pixels
{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=seeret}{td}*Also seeReturns*\\{sub-section:createTitledBorder_seecreatePageFormat-Number_Number_Number_Number_Number_Number_Number_Number_ret|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createTitledBorder_seecreatePageFormat-Number_Number_Number_Number_Number_Number_Number_Number_ret|trigger=none|class=sIndent}[String]{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linksee}{td}*ExternalAlso linkssee*\\{sub-section:createTitledBorder_linkcreatePageFormat-Number_Number_Number_Number_Number_Number_Number_Number_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createTitledBorder_link|trigger=createPageFormat-Number_Number_Number_Number_Number_Number_Number_Number_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createPageFormat-Number_Number_Number_Number_Number_Number_Number_Number_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createPageFormat-Number_Number_Number_Number_Number_Number_Number_Number_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createTitledBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_Number_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:createTitledBordercreatePageFormat-Number_Number_Number_Number_Number_Number_Number_Number_sam|trigger=none}{code:language=javascript}
var form = solutionModel.getForm("someForm");
form.borderTypedefaultPageFormat = solutionModel.createTitledBorder('Test',solutionModel.createFont('Arial',SM_FONTSTYLE.PLAIN,10),'#ff0000',SM_TITLEJUSTIFICATION.CENTER,SM_TITLEPOSITION.TOPcreatePageFormat(612,792,72,72,72,72,SM_ORIENTATION.PORTRAIT,SM_UNITS.PIXELS);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getCalculationcreateRoundedBorder|class=node}{tr:id=name}{td}h6.getCalculationcreateRoundedBorder{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSCalculationString]{span}{span:id=iets|style=float: left; font-weight: bold;}getCalculationcreateRoundedBorder{span}{span:id=iets|style=float: left;}\(name, datasource){spantop_width, right_width, bottom_width, left_width, top_color, right_color, bottom_color, left_color, rounding_radius, border_style){span}{td}{tr}{tr:id=des}{td}{sub-section:getCalculationcreateRoundedBorder_des|text=|trigger=button}{sub-section}{sub-section:getCalculationcreateRoundedBorder_des|trigger=none|class=sIndent}GetCreate ana existingspecial calculationmatte for the given name and datasourceborder string.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getCalculationcreateRoundedBorder_snc|text=|trigger=button}{sub-section}{sub-section:getCalculationcreateRoundedBorder_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getCalculationcreateRoundedBorder_prs|text=|trigger=button}{sub-section}{sub-section:getCalculationcreateRoundedBorder_prs|trigger=none|class=sIndent}\{[StringNumber]} nametop_width -- Thetop namewidth of the calculationmatte border in pixels
\{[StringNumber]} datasourceright_width -- right Thewidth datasourceof thematte calculationborder belongsin to.pixels
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getCalculation\{[Number]} bottom_width -- bottom width of matte border in pixels
\{[Number]} left_width -- left width of matte border in pixels
\{[String]} top_color -- top border color
\{[String]} right_color -- right border color
\{[String]} bottom_color -- bottom border color
\{[String]} left_color -- left border color
\{[Number]\[]} rounding_radius -- array with width/height of the arc to round the corners
\{[String]\[]} border_style -- the border styles for the four margins(top/left/bottom/left)
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createRoundedBorder_ret|text=|trigger=button}{sub-section}{sub-section:getCalculationcreateRoundedBorder_ret|trigger=none|class=sIndent}[JSCalculationString]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getCalculationcreateRoundedBorder_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getCalculationcreateRoundedBorder_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getCalculationcreateRoundedBorder_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getCalculationcreateRoundedBorder_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getCalculationcreateRoundedBorder_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getCalculationcreateRoundedBorder_sam|trigger=none}{code:language=javascript}
var calcform = solutionModel.newCalculationgetForm("function myCalculation() { return 123; }", JSVariable.INTEGER, "db:/example_data/customers");
var calc2"someForm");
// create a rectangle border (no rounded corners) and continous line
form.borderType = solutionModel.newCalculation("function myCalculation2() { return '20'; }", "db:/example_data/customers");
var calc3 = solutionModel.newCalculation("function myCalculation3() { return 'Hello World!'; }",	JSVariable.TEXT, "db:/example_data/employees");

var c = solutionModel.getCalculation("myCalculation","db:/example_data/customers");
application.output("Name: " + c.getName() + ", Stored: " + c.isStored());

var allCalcs = solutionModel.getCalculations("db:/example_data/customers");
for (var i = 0; i < allCalcs.length; i++) {
	application.output(allCalcs[i]);
}createSpecialMatteBorder(1,1,1,1,"#00ff00","#00ff00","#00ff00","#00ff00",0,null);
// create a border with rounded corners and dashed line (25 pixels drawn, then 25 pixels skipped)
// rounding_radius is an array of up to 8 numbers, order is: top-left,top-right,bottom-right,bottom-left (repetead twice - for width and height)
// form.borderType = solutionModel.createSpecialMatteBorder(1,1,1,1,"#00ff00","#00ff00","#00ff00","#00ff00",new Array(10,10,10,10),new Array(25,25));
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getCalculationscreateSpecialMatteBorder|class=node}{tr:id=name}{td}h6.getCalculationscreateSpecialMatteBorder{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSCalculationString]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getCalculationscreateSpecialMatteBorder{span}{span:id=iets|style=float: left;}\(datasourcetop_width, right_width, bottom_width, left_width, top_color, right_color, bottom_color, left_color, rounding_radius, dash_pattern){span}{td}{tr}{tr:id=des}{td}{sub-section:getCalculationscreateSpecialMatteBorder_des|text=|trigger=button}{sub-section}{sub-section:getCalculationscreateSpecialMatteBorder_des|trigger=none|class=sIndent}GetsCreate alla thespecial calculationsmatte for the given datasourceborder string.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getCalculationscreateSpecialMatteBorder_snc|text=|trigger=button}{sub-section}{sub-section:getCalculationscreateSpecialMatteBorder_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getCalculationscreateSpecialMatteBorder_prs|text=|trigger=button}{sub-section}{sub-section:getCalculationscreateSpecialMatteBorder_prs|trigger=none|class=sIndent}\{[StringNumber]} datasourcetop_width -- top Thewidth datasourceof thematte calculationsborder belongin to.pixels
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getCalculations_\{[Number]} right_width -- right width of matte border in pixels
\{[Number]} bottom_width -- bottom width of matte border in pixels
\{[Number]} left_width -- left width of matte border in pixels
\{[String]} top_color -- top border color
\{[String]} right_color -- right border color
\{[String]} bottom_color -- bottom border color
\{[String]} left_color -- left border color
\{[Number]} rounding_radius -- width of the arc to round the corners
\{[Number]\[]} dash_pattern -- the dash pattern of border stroke
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:createSpecialMatteBorder_ret|text=|trigger=button}{sub-section}{sub-section:getCalculationscreateSpecialMatteBorder_ret|trigger=none|class=sIndent}[JSCalculationString]\[]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getCalculationscreateSpecialMatteBorder_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getCalculationscreateSpecialMatteBorder_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getCalculationscreateSpecialMatteBorder_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getCalculationscreateSpecialMatteBorder_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getCalculationscreateSpecialMatteBorder_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getCalculationscreateSpecialMatteBorder_sam|trigger=none}{code:language=javascript}
var calcform = solutionModel.newCalculationgetForm("function myCalculation() { return 123; }", JSVariable.INTEGER, "db:/example_data/customers");
var calc2 = solutionModel.newCalculation("function myCalculation2() { return '20'; }", "db:/example_data/customers");
var calc3someForm");
// create a rectangle border (no rounded corners) and continous line
form.borderType = solutionModel.newCalculation("function myCalculation3() { return 'Hello World!'; }",	JSVariable.TEXT, "db:/example_data/employees");

var c = solutionModel.getCalculation("myCalculation","db:/example_data/customers");
application.output("Name: " + c.getName() + ", Stored: " + c.isStored());

var allCalcs = solutionModel.getCalculations("db:/example_data/customers");
for (var i = 0; i < allCalcs.length; i++) {
	application.output(allCalcs[i]);
}
createSpecialMatteBorder(1,1,1,1,"#00ff00","#00ff00","#00ff00","#00ff00",0,null);
// create a border with rounded corners and dashed line (25 pixels drawn, then 25 pixels skipped)
// form.borderType = solutionModel.createSpecialMatteBorder(1,1,1,1,"#00ff00","#00ff00","#00ff00","#00ff00",10,new Array(25,25));
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getFormcreateTitledBorder|class=node}{tr:id=name}{td}h6.getFormcreateTitledBorder{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSFormString]{span}{span:id=iets|style=float: left; font-weight: bold;}getFormcreateTitledBorder{span}{span:id=iets|style=float: left;}\(nametitle_text, font, color, title_justification, title_position){span}{td}{tr}{tr:id=des}{td}{sub-section:getFormcreateTitledBorder_des|text=|trigger=button}{sub-section}{sub-section:getFormcreateTitledBorder_des|trigger=none|class=sIndent}GetsCreate thea specifiedtitled form object and returns information about the form (see JSForm node)border string.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getFormcreateTitledBorder_snc|text=|trigger=button}{sub-section}{sub-section:getFormcreateTitledBorder_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getFormcreateTitledBorder_prs|text=|trigger=button}{sub-section}{sub-section:getFormcreateTitledBorder_prs|trigger=none|class=sIndent}\{[String]} nametitle_text -- the specifiedtext namefrom of the form
{sub-section}{td}{tr}{tr:id=ret}{td}border
\{[String]} font -- title text font string
\{[String]} color -- border color
\{[Number]} title_justification -- title text justification
\{[Number]} title_position -- bevel title text position
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getFormcreateTitledBorder_ret|text=|trigger=button}{sub-section}{sub-section:getFormcreateTitledBorder_ret|trigger=none|class=sIndent}[JSForm] -- a JSFormString]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getFormcreateTitledBorder_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getFormcreateTitledBorder_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getFormcreateTitledBorder_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getFormcreateTitledBorder_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getFormcreateTitledBorder_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getFormcreateTitledBorder_sam|trigger=none}{code:language=javascript}
var myFormform = solutionModel.getForm('existingFormName'"someForm");
//get the style of the form (for all other properties see JSForm node)
var styleName = myForm.styleNameform.borderType = solutionModel.createTitledBorder('Test',solutionModel.createFont('Arial',SM_FONTSTYLE.PLAIN,10),'#ff0000',SM_TITLEJUSTIFICATION.CENTER,SM_TITLEPOSITION.TOP);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getFormsgetDataSourceNode|class=node}{tr:id=name}{td}h6.getFormsgetDataSourceNode{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSForm]\[JSDataSourceNode]{span}{span:id=iets|style=float: left; font-weight: bold;}getFormsgetDataSourceNode{span}{span:id=iets|style=float: left;}\(dataSource){span}{td}{tr}{tr:id=des}{td}{sub-section:getFormsgetDataSourceNode_des|text=|trigger=button}{sub-section}{sub-section:getFormsgetDataSourceNode_des|trigger=none|class=sIndent}Get an array of all formsGets the specified data source node and returns information about the form (see JSDataSourceNode node).
The JSDataSourceNode holds all calculations and foundset methods.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getFormsgetDataSourceNode_snc|text=|trigger=button}{sub-section}{sub-section:getFormsgetDataSourceNode_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getFormsgetDataSourceNode_prs|text=|trigger=button}{sub-section}{sub-section:getFormsgetDataSourceNode_prs|trigger=none|class=sIndent}{sub-\{[String]} dataSource -- table data source
{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getFormsgetDataSourceNode_ret|text=|trigger=button}{sub-section}{sub-section:getFormsgetDataSourceNode_ret|trigger=none|class=sIndent}[JSFormJSDataSourceNode]\[] -- an array of JSForm type elementsa JSDataSourceNode{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getFormsgetDataSourceNode_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getFormsgetDataSourceNode_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getFormsgetDataSourceNode_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getFormsgetDataSourceNode_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getFormsgetDataSourceNode_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getFormsgetDataSourceNode_sam|trigger=none}{code:language=javascript}
var formsdsnode = solutionModel.getForms()
for (var i in forms)
		application.output(forms[i].name)getDataSourceNode('db:/example_data/customers');
var c = dsnode.getCalculation("myCalculation");
application.output("Name: " + c.getName() + ", Stored: " + c.isStored());
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getForms-StringgetForm|class=node}{tr:id=name}{td}h6.getFormsgetForm{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSForm]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getFormsgetForm{span}{span:id=iets|style=float: left;}\(datasourcename){span}{td}{tr}{tr:id=des}{td}{sub-section:getForms-StringgetForm_des|text=|trigger=button}{sub-section}{sub-section:getForms-StringgetForm_des|trigger=none|class=sIndent}Get an array of forms, that are all based on datasource/servernameGets the specified form object and returns information about the form (see JSForm node).{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getForms-StringgetForm_snc|text=|trigger=button}{sub-section}{sub-section:getForms-StringgetForm_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getForms-StringgetForm_prs|text=|trigger=button}{sub-section}{sub-section:getForms-StringgetForm_prs|trigger=none|class=sIndent}\{[String]} datasourcename -- the specified name datasourceof orthe servernameform
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getForms-StringgetForm_ret|text=|trigger=button}{sub-section}{sub-section:getForms-StringgetForm_ret|trigger=none|class=sIndent}[JSForm]\[] -- an array ofa JSForm type elements{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getForms-StringgetForm_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getForms-StringgetForm_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getForms-StringgetForm_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getForms-StringgetForm_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getForms-StringgetForm_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getForms-StringgetForm_sam|trigger=none}{code:language=javascript}
var formsmyForm = solutionModel.getFormsgetForm(datasource)
for (var i in forms)
		application.output(forms[i].name)'existingFormName');
//get the style of the form (for all other properties see JSForm node)
var styleName = myForm.styleName;
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getForms-String_String|class=node}{tr:id=name}{td}h6.getForms{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSForm]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getForms{span}{span:id=iets|style=float: left;}\(server, tablename){span}{td}{tr}{tr:id=des}{td}{sub-section:getForms-String_String_des|text=|trigger=button}{sub-section}{sub-section:getForms-String_String_des|trigger=none|class=sIndent}Get an array of forms, that are all based on datasource/servername and tablenameforms.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getForms-String_String_snc|text=|trigger=button}{sub-section}{sub-section:getForms-String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getForms-String_String_prs|text=|trigger=button}{sub-section}{sub-section:getForms-String_String_prs|trigger=none|class=sIndent}\{[String]} server -- the datasource or servername
\{[String]} tablename -- the tablename
{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getForms-String_String_ret|text=|trigger=button}{sub-section}{sub-section:getForms-String_String_ret|trigger=none|class=sIndent}[JSForm]\[] -- an array of JSForm type elements{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getForms-String_String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getForms-String_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getForms-String_String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getForms-String_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getForms-String_String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getForms-String_String_sam|trigger=none}{code:language=javascript}
var forms = solutionModel.getForms(datasource,tablename)
for (var i in forms)
		application.output(forms[i].name)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getGlobalMethodgetForms-String|class=node}{tr:id=name}{td}h6.getGlobalMethodgetForms{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSMethodJSForm]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getGlobalMethodgetForms{span}{span:id=iets|style=float: left;}\(namedatasource){span}{td}{tr}{tr:id=des}{td}{sub-section:getGlobalMethodgetForms-String_des|text=|trigger=button}{sub-section}{sub-section:getGlobalMethodgetForms-String_des|trigger=none|class=sIndent}GetsGet an existing global method by the specified name array of forms, that are all based on datasource/servername.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getGlobalMethodgetForms-String_snc|text=|trigger=button}{sub-section}{sub-section:getGlobalMethodgetForms-String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getGlobalMethodgetForms-String_prs|text=|trigger=button}{sub-section}{sub-section:getGlobalMethodgetForms-String_prs|trigger=none|class=sIndent}\{[String]} namedatasource -- the namedatasource of the specified global method
or servername
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getGlobalMethodgetForms-String_ret|text=|trigger=button}{sub-section}{sub-section:getGlobalMethodgetForms-String_ret|trigger=none|class=sIndent}[JSForm]\[JSMethod] -- a JSMethod an array of JSForm type elements{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getGlobalMethodgetForms-String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getGlobalMethodgetForms-String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getGlobalMethodgetForms-String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getGlobalMethodgetForms-String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getGlobalMethodgetForms-String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getGlobalMethodgetForms-String_sam|trigger=none}{code:language=javascript}
var methodforms = solutionModel.getGlobalMethodgetForms("nameOfGlobalMethod"datasource);
for 	if (method != null) (var i in forms)
	application.output(method.code);forms[i].name)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getGlobalMethodsgetForms-String_String|class=node}{tr:id=name}{td}h6.getGlobalMethodsgetForms{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSMethodJSForm]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getGlobalMethodsgetForms{span}{span:id=iets|style=float: left;}\(server, tablename){span}{td}{tr}{tr:id=des}{td}{sub-section:getGlobalMethodsgetForms-String_String_des|text=|trigger=button}{sub-section}{sub-section:getGlobalMethodsgetForms-String_String_des|trigger=none|class=sIndent}TheGet an listarray of forms, that are all global methods based on datasource/servername and tablename.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getGlobalMethodsgetForms-String_String_snc|text=|trigger=button}{sub-section}{sub-section:getGlobalMethodsgetForms-String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getGlobalMethodsgetForms-String_String_prs|text=|trigger=button}{sub-section}{sub-section:getGlobalMethodsgetForms-String_String_prs|trigger=none|class=sIndent}\{[String]} server -- the datasource or servername
\{[String]} tablename -- the tablename
{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getGlobalMethodsgetForms-String_String_ret|text=|trigger=button}{sub-section}{sub-section:getGlobalMethodsgetForms-String_String_ret|trigger=none|class=sIndent}[JSMethodJSForm]\[] -- an array of JSMethodJSForm type elements{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getGlobalMethodsgetForms-String_String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getGlobalMethodsgetForms-String_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getGlobalMethodsgetForms-String_String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getGlobalMethodsgetForms-String_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getGlobalMethodsgetForms-String_String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getGlobalMethodsgetForms-String_String_sam|trigger=none}{code:language=javascript}
var methodsforms = solutionModel.getGlobalMethodsgetForms(); 
	if (methods != null)
		datasource,tablename)
for (var xi in methodsforms)

			application.output(methodsforms[xi].getName()name);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getGlobalVariablegetGlobalMethod-String_String|class=node}{tr:id=name}{td}h6.getGlobalVariablegetGlobalMethod{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSVariableJSMethod]{span}{span:id=iets|style=float: left; font-weight: bold;}getGlobalVariablegetGlobalMethod{span}{span:id=iets|style=float: left;}\(scopeName, name){span}{td}{tr}{tr:id=des}{td}{sub-section:getGlobalVariablegetGlobalMethod-String_String_des|text=|trigger=button}{sub-section}{sub-section:getGlobalVariablegetGlobalMethod-String_String_des|trigger=none|class=sIndent}Gets an existing global variablemethod by the specified name.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getGlobalVariablegetGlobalMethod-String_String_snc|text=|trigger=button}{sub-section}{sub-section:getGlobalVariablegetGlobalMethod-String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getGlobalVariablegetGlobalMethod-String_String_prs|text=|trigger=button}{sub-section}{sub-section:getGlobalVariablegetGlobalMethod-String_String_prs|trigger=none|class=sIndent}\{[String]} scopeName -- the scope in which the method is searched
\{[String]} name -- the specified name of the specified global variablemethod
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getGlobalVariablegetGlobalMethod-String_String_ret|text=|trigger=button}{sub-section}{sub-section:getGlobalVariablegetGlobalMethod-String_String_ret|trigger=none|class=sIndent}[JSVariableJSMethod] -- a JSVariableJSMethod{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getGlobalVariablegetGlobalMethod-String_String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getGlobalVariablegetGlobalMethod-String_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getGlobalVariablegetGlobalMethod-String_String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getGlobalVariablegetGlobalMethod-String_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getGlobalVariablegetGlobalMethod-String_String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getGlobalVariablegetGlobalMethod-String_String_sam|trigger=none}{code:language=javascript}
var globalVariablemethod = solutionModel.getGlobalVariablegetGlobalMethod('globals', 'globalVariableNamenameOfGlobalMethod'); 	application.output(globalVariable.name + " has the default value of " + globalVariable.defaultValue
if (method != null) application.output(method.code);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getGlobalVariablesgetGlobalMethods|class=node}{tr:id=name}{td}h6.getGlobalVariablesgetGlobalMethods{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSVariableJSMethod]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getGlobalVariablesgetGlobalMethods{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:getGlobalVariablesgetGlobalMethods_des|text=|trigger=button}{sub-section}{sub-section:getGlobalVariablesgetGlobalMethods_des|trigger=none|class=sIndent}GetsThe anlist array of all global variablesmethods.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getGlobalVariablesgetGlobalMethods_snc|text=|trigger=button}{sub-section}{sub-section:getGlobalVariablesgetGlobalMethods_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getGlobalVariablesgetGlobalMethods_prs|text=|trigger=button}{sub-section}{sub-section:getGlobalVariablesgetGlobalMethods_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getGlobalVariablesgetGlobalMethods_ret|text=|trigger=button}{sub-section}{sub-section:getGlobalVariablesgetGlobalMethods_ret|trigger=none|class=sIndent}[JSVariableJSMethod]\[] -- an array of JSVariableJSMethod type elements{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getGlobalVariablesgetGlobalMethods_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getGlobalVariablesgetGlobalMethods_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getGlobalVariablesgetGlobalMethods_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getGlobalVariablesgetGlobalMethods_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getGlobalVariablesgetGlobalMethods_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getGlobalVariablesgetGlobalMethods_sam|trigger=none}{code:language=javascript}
var globalVariablesmethods = solutionModel.getGlobalVariablesgetGlobalMethods('globals'); 	
for (var ix in globalVariablesmethods) 
		application.output(globalVariablesmethods[i].name + " has the default value of " + globalVariables[i].defaultValuex].getName());
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getMediagetGlobalMethods-String|class=node}{tr:id=name}{td}h6.getMediagetGlobalMethods{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSMediaJSMethod]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getMediagetGlobalMethods{span}{span:id=iets|style=float: left;}\(namescopeName){span}{td}{tr}{tr:id=des}{td}{sub-section:getMediagetGlobalMethods-String_des|text=|trigger=button}{sub-section}{sub-section:getMediagetGlobalMethods-String_des|trigger=none|class=sIndent}GetsThe thelist specifiedof mediaall object; can be assigned to a button/labelglobal methods.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getMediagetGlobalMethods-String_snc|text=|trigger=button}{sub-section}{sub-section:getMediagetGlobalMethods-String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getMediagetGlobalMethods-String_prs|text=|trigger=button}{sub-section}{sub-section:getMediagetGlobalMethods-String_prs|trigger=none|class=sIndent}\{[String]} namescopeName -- thelimit to specifiedglobal namemethods of thespecified mediascope objectname
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getMediagetGlobalMethods-String_ret|text=|trigger=button}{sub-section}{sub-section:getMediagetGlobalMethods-String_ret|trigger=none|class=sIndent}[JSMethod]\[JSMedia] -- a JSMedia element an array of JSMethod type elements{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getMediagetGlobalMethods-String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getMediagetGlobalMethods-String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getMediagetGlobalMethods-String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getMediagetGlobalMethods-String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getMediagetGlobalMethods-String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getMediagetGlobalMethods-String_sam|trigger=none}{code:language=javascript}
var myMediamethods = solutionModel.getMediagetGlobalMethods('button01.gifglobals'); //now
setfor the(var imageMediax propertyin ofmethods) your label or button
//myButton.imageMedia = myMedia
// OR
//myLabel.imageMedia = myMedia

	application.output(methods[x].getName());
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getMediaListgetGlobalVariable-String_String|class=node}{tr:id=name}{td}h6.getMediaListgetGlobalVariable{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSMedia]\[JSVariable]{span}{span:id=iets|style=float: left; font-weight: bold;}getMediaListgetGlobalVariable{span}{span:id=iets|style=float: left;}\(scopeName, name){span}{td}{tr}{tr:id=des}{td}{sub-section:getMediaListgetGlobalVariable-String_String_des|text=|trigger=button}{sub-section}{sub-section:getMediaListgetGlobalVariable-String_String_des|trigger=none|class=sIndent}Gets an theexisting global listvariable ofby allthe mediaspecified objectsname.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getMediaListgetGlobalVariable-String_String_snc|text=|trigger=button}{sub-section}{sub-section:getMediaListgetGlobalVariable-String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-showtr:permission=edit}{tr:id=id=prs}{td}*Parameters*\\{sub-section:getMediaListgetGlobalVariable-String_String_prs|text=|trigger=button}{sub-section}{sub-section:getMediaListgetGlobalVariable-String_String_prs|trigger=none|class=sIndent}\{[String]} scopeName -- the scope in which the variable is searched
\{[String]} name -- the specified name of the global variable
{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getMediaListgetGlobalVariable-String_String_ret|text=|trigger=button}{sub-section}{sub-section:getMediaListgetGlobalVariable-String_String_ret|trigger=none|class=sIndent}[JSMedia]\[JSVariable] -- a list with all the media objects.JSVariable{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getMediaListgetGlobalVariable-String_String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getMediaListgetGlobalVariable-String_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getMediaListgetGlobalVariable-String_String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getMediaListgetGlobalVariable-String_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getMediaListgetGlobalVariable-String_String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getMediaListgetGlobalVariable-String_String_sam|trigger=none}{code:language=javascript}
var mediaListglobalVariable = solutionModel.getMediaList(getGlobalVariable('globals', 'globalVariableName');
	if (mediaList.length != 0 && mediaList != null) {
		for (var x in mediaList) {
			application.output(mediaList[x]);
		}
	}
application.output(globalVariable.name + " has the default value of " + globalVariable.defaultValue);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getRelationgetGlobalVariables|class=node}{tr:id=name}{td}h6.getRelationgetGlobalVariables{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSRelation]{JSVariable]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getRelationgetGlobalVariables{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:getRelationgetGlobalVariables_des|text=|trigger=button}{sub-section}{sub-section:getRelationgetGlobalVariables_des|trigger=none|class=sIndent}Gets an existingarray relationof byall the specified name and returns a JSRelation Objectglobal variables.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getRelationgetGlobalVariables_snc|text=|trigger=button}{sub-section}{sub-section:getRelationgetGlobalVariables_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getRelationgetGlobalVariables_prs|text=|trigger=button}{sub-section}{sub-section:getRelationgetGlobalVariables_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name of the relation
{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getRelationgetGlobalVariables_ret|text=|trigger=button}{sub-section}{sub-section:getRelationgetGlobalVariables_ret|trigger=none|class=sIndent}[JSRelationJSVariable]\[] -- a JSRelation an array of JSVariable type elements{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getRelationgetGlobalVariables_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getRelationgetGlobalVariables_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getRelationgetGlobalVariables_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getRelationgetGlobalVariables_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getRelationgetGlobalVariables_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getRelationgetGlobalVariables_sam|trigger=none}{code:language=javascript}
var relationglobalVariables = solutionModel.getRelationgetGlobalVariables('nameglobals');
for 	application.output("The primary server name is " + relation.primaryServerName);(var i in globalVariables)
	application.output("The primary table name is " + relation.primaryTableName); 
	application.output("The foreign table name is " + relation.foreignTableName); 
	application.output("The relation items are " + relation.getRelationItems()globalVariables[i].name + " has the default value of " + globalVariables[i].defaultValue);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getRelationsgetGlobalVariables-String|class=node}{tr:id=name}{td}h6.getRelationsgetGlobalVariables{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSRelationJSVariable]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getRelationsgetGlobalVariables{span}{span:id=iets|style=float: left;}\(\[primary_server_name/primary_data_source\], \[primary_table_name\])scopeName){span}{td}{tr}{tr:id=des}{td}{sub-section:getRelationsgetGlobalVariables-String_des|text=|trigger=button}{sub-section}{sub-section:getRelationsgetGlobalVariables-String_des|trigger=none|class=sIndent}Gets an array of all relations; or an array of all global relations if the specified table is NULLvariables.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getRelationsgetGlobalVariables-String_snc|text=|trigger=button}{sub-section}{sub-section:getRelationsgetGlobalVariables-String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getRelationsgetGlobalVariables-String_prs|text=|trigger=button}{sub-section}{sub-section:getRelationsgetGlobalVariables-String_prs|trigger=none|class=sIndent}\[primary\_server\_name/primary\_data\_source\] -- the specified name of the server or datasource for the specified table
\[primary\_table\_name\] -- the specified name of the table
{[String]} scopeName -- limit to global vars of specified scope name
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getRelationsgetGlobalVariables-String_ret|text=|trigger=button}{sub-section}{sub-section:getRelationsgetGlobalVariables-String_ret|trigger=none|class=sIndent}[JSRelationJSVariable]\[] -- an array of allJSVariable relationstype (all elements in the array are of type JSRelation){sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getRelationsgetGlobalVariables-String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getRelationsgetGlobalVariables-String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getRelationsgetGlobalVariables-String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getRelationsgetGlobalVariables-String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getRelationsgetGlobalVariables-String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getRelationsgetGlobalVariables-String_sam|trigger=none}{code:language=javascript}
var relationsglobalVariables = solutionModel.getRelationsgetGlobalVariables('server_name','table_nameglobals');
	iffor (relations.length != 0)
		for (var i in relationsvar i in globalVariables)
			application.output(relationsglobalVariables[i].name + " has the default value of " + globalVariables[i].defaultValue);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getStylegetMedia|class=node}{tr:id=name}{td}h6.getStylegetMedia{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSStyleJSMedia]{span}{span:id=iets|style=float: left; font-weight: bold;}getStylegetMedia{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:getStylegetMedia_des|text=|trigger=button}{sub-section}{sub-section:getStylegetMedia_des|trigger=none|class=sIndent}Gets the style specified by the given name specified media object; can be assigned to a button/label.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getStylegetMedia_snc|text=|trigger=button}{sub-section}{sub-section:getStylegetMedia_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getStylegetMedia_prs|text=|trigger=button}{sub-section}{sub-section:getStylegetMedia_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name of the stylemedia object
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getStylegetMedia_ret|text=|trigger=button}{sub-section}{sub-section:getStylegetMedia_ret|trigger=none|class=sIndent}[JSStyleJSMedia] -- a JSMedia JSStyleelement{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getStylegetMedia_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getStylegetMedia_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getStylegetMedia_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getStylegetMedia_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getStylegetMedia_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getStylegetMedia_sam|trigger=none}{code:language=javascript}
var stylemyMedia = solutionModel.getStylegetMedia('my_existing_style')
	style.content = 'combobox { color: #0000ff;font: italic 10pt "Verdana";}'button01.gif')
//now set the imageMedia property of your label or button
//myButton.imageMedia = myMedia
// OR
//myLabel.imageMedia = myMedia
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getValueListgetMediaList|class=node}{tr:id=name}{td}h6.getValueListgetMediaList{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSMedia]\[JSValueList]{span}{span:id=iets|style=float: left; font-weight: bold;}getValueListgetMediaList{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:getValueListgetMediaList_des|text=|trigger=button}{sub-section}{sub-section:getValueListgetMediaList_des|trigger=none|class=sIndent}Gets an existing valuelist by the specifiedlist nameof andall returns a JSValueList Object that can be assigned to a field.{sub-section}{media objects.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getValueListgetMediaList_snc|text=|trigger=button}{sub-section}{sub-section:getValueListgetMediaList_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getValueListgetMediaList_prs|text=|trigger=button}{sub-section}{sub-section:getValueListgetMediaList_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name of the valuelist
{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getValueListgetMediaList_ret|text=|trigger=button}{sub-section}{sub-section:getValueListgetMediaList_ret|trigger=none|class=sIndent}[JSValueListJSMedia]\[] -- a JSValueList object list with all the media objects.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getValueListgetMediaList_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getValueListgetMediaList_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getValueListgetMediaList_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getValueListgetMediaList_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getValueListgetMediaList_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getValueListgetMediaList_sam|trigger=none}{code:language=javascript}
var myValueListmediaList = solutionModel.getValueListgetMediaList('myValueListHere')
//now set the valueList property of your field
//myField.valuelist = myValueList;
if (mediaList.length != 0 && mediaList != null) {
	for (var x in mediaList) {
		application.output(mediaList[x]);
	}
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getValueListsgetRelation|class=node}{tr:id=name}{td}h6.getValueListsgetRelation{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSValueList]\[JSRelation]{span}{span:id=iets|style=float: left; font-weight: bold;}getValueListsgetRelation{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:getValueListsgetRelation_des|text=|trigger=button}{sub-section}{sub-section:getValueListsgetRelation_des|trigger=none|class=sIndent}Gets an existing relation arrayby ofthe allspecified valuelistsname forand thereturns currentlya activeJSRelation solutionObject.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getValueListsgetRelation_snc|text=|trigger=button}{sub-section}{sub-section:getValueListsgetRelation_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getValueListsgetRelation_prs|text=|trigger=button}{sub-section}{sub-section:getValueListsgetRelation_prs|trigger=none|class=sIndent}{sub-\{[String]} name -- the specified name of the relation
{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getValueListsgetRelation_ret|text=|trigger=button}{sub-section}{sub-section:getValueListsgetRelation_ret|trigger=none|class=sIndent}[JSValueList]\[JSRelation] -- an array of JSValueList objectsa JSRelation{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getValueListsgetRelation_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getValueListsgetRelation_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getValueListsgetRelation_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getValueListsgetRelation_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getValueListsgetRelation_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getValueListsgetRelation_sam|trigger=none}{code:language=javascript}
var valueListsrelation = solutionModel.getValueListsgetRelation('name');
	if (valueLists != null && valueLists.length != 0)
		for (var i in valueLists)
			application.output(valueLists[i].nameapplication.output("The primary server name is " + relation.primaryServerName);
application.output("The primary table name is " + relation.primaryTableName); 
application.output("The foreign table name is " + relation.foreignTableName); 
application.output("The relation items are " + relation.getRelationItems());
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newCalculationgetRelations-String_Number_String|class=node}{tr:id=name}{td}h6.newCalculationgetRelations{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSCalculationJSRelation]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}newCalculationgetRelations{span}{span:id=iets|style=float: left;}\(code, type, datasource){span}{td}{tr}{tr:id=des}{td}{sub-section:newCalculationgetRelations-String_Number_String_des|text=|trigger=button}{sub-section}{sub-section:newCalculationgetRelations-String_Number_String_des|trigger=none|class=sIndent}CreatesGets aan newarray calculationof forall therelations; givenor codean andarray theof type,all ifglobal itrelations buildsif onthe aspecified columntable (name is a column name) then type will be ignoredNULL.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:newCalculationgetRelations-String_Number_String_snc|text=|trigger=button}{sub-section}{sub-section:newCalculationgetRelations-String_Number_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:newCalculationgetRelations-String_Number_String_prs|text=|trigger=button}{sub-section}{sub-section:newCalculationgetRelations-String_Number_String_prs|trigger=none|class=sIndent}\{[String]} codedatasource -- The code of the calculation,specified this must be a full function declaration.
\{[Number]} type -- The type name of the calculation, one ofdatasource for the JSVariablespecified types.table
\{[String]} datasource -- The datasource this calculation belongs to.
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:newCalculationgetRelations-String_Number_String_ret|text=|trigger=button}{sub-section}{sub-section:newCalculationgetRelations-String_Number_String_ret|trigger=none|class=sIndent}[JSRelation]\[JSCalculation]] -- an array of all relations (all elements in the array are of type JSRelation){sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:newCalculationgetRelations-String_Number_String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newCalculationgetRelations-String_Number_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:newCalculationgetRelations-String_Number_String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newCalculationgetRelations-String_Number_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:newCalculationgetRelations-String_Number_String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newCalculationgetRelations-String_Number_String_sam|trigger=none}{code:language=javascript}
var calcrelations = solutionModel.newCalculation("function myCalculation() { return 123; }", JSVariable.INTEGER, "db:/example_data/customers");
var calc2 = solutionModel.newCalculation("function myCalculation2() { return '20'; }", "db:/example_data/customers");
var calc3 = solutionModel.newCalculation("function myCalculation3() { return 'Hello World!'; }",	JSVariable.TEXT, "db:/example_data/employees");

var c = solutionModel.getCalculation("myCalculation","db:/example_data/customers");
application.output("Name: " + c.getName() + ", Stored: " + c.isStored());

var allCalcs = solutionModel.getCalculations("db:/example_data/customers");
for (var i = 0; i < allCalcs.length; i++) {
	application.output(allCalcs[i]);
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{getRelations('server_name','table_name');
if (relations.length != 0)
	for (var i in relations)
		application.output(relations[i].name);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newCalculationgetRelations-String_String|class=node}{tr:id=name}{td}h6.newCalculationgetRelations{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSCalculationJSRelation]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}newCalculationgetRelations{span}{span:id=iets|style=float: left;}\(codeservername, datasourcetablename){span}{td}{tr}{tr:id=des}{td}{sub-section:newCalculationgetRelations-String_String_des|text=|trigger=button}{sub-section}{sub-section:newCalculationgetRelations-String_String_des|trigger=none|class=sIndent}CreatesGets aan newarray calculationof forall therelations; givenor code,an thearray typeof willall beglobal therelations columnif wherethe it could be build on (if name is a column name),
else it will default to JSVariable.TEXT;specified table is NULL.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:newCalculationgetRelations-String_String_snc|text=|trigger=button}{sub-section}{sub-section:newCalculationgetRelations-String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:newCalculationgetRelations-String_String_prs|text=|trigger=button}{sub-section}{sub-section:newCalculationgetRelations-String_String_prs|trigger=none|class=sIndent}\{[String]} codeservername -- the Thespecified codename of the calculation,server thisfor mustthe be a full function declaration.specified table
\{[String]} datasourcetablename -- Thethe datasourcespecified thisname calculationof belongsthe to.table
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:newCalculationgetRelations-String_String_ret|text=|trigger=button}{sub-section}{sub-section:newCalculationgetRelations-String_String_ret|trigger=none|class=sIndent}[JSCalculation]{sub-JSRelation]\[] -- an array of all relations (all elements in the array are of type JSRelation){sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:newCalculationgetRelations-String_String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newCalculationgetRelations-String_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:newCalculationgetRelations-String_String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newCalculationgetRelations-String_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:newCalculationgetRelations-String_String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newCalculationgetRelations-String_String_sam|trigger=none}{code:language=javascript}
var calcrelations = solutionModel.newCalculation("function myCalculation() { return 123; }", JSVariable.INTEGER, "db:/example_data/customers");
var calc2 = solutionModel.newCalculation("function myCalculation2() { return '20'; }", "db:/example_data/customers");
var calc3 = solutionModel.newCalculation("function myCalculation3() { return 'Hello World!'; }",	JSVariable.TEXT, "db:/example_data/employees");

var c = solutionModel.getCalculation("myCalculation","db:/example_data/customers");
application.output("Name: " + c.getName() + ", Stored: " + c.isStored());

var allCalcs = solutionModel.getCalculations("db:/example_data/customers");
for (var i = 0; i < allCalcs.length; i++) {
	application.output(allCalcs[i]);
}
{getRelations('server_name','table_name');
if (relations.length != 0)
	for (var i in relations)
		application.output(relations[i].name);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newForm-String_JSFormgetScopeNames|class=node}{tr:id=name}{td}h6.newFormgetScopeNames{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSFormString]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}newFormgetScopeNames{span}{span:id=iets|style=float: left;}\(name, superForm){span}{td}{tr}{tr:id=des}{td}{sub-section:newForm-String_JSFormgetScopeNames_des|text=|trigger=button}{sub-section}{sub-section:newForm-String_JSFormgetScopeNames_des|trigger=none|class=sIndent}CreatesGets aan newarray formof withall thescope given JSForm as its super formnames used.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:newForm-String_JSFormgetScopeNames_snc|text=|trigger=button}{sub-section}{sub-section:newForm-String_JSFormgetScopeNames_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:newForm-String_JSFormgetScopeNames_prs|text=|trigger=button}{sub-section}{sub-section:newForm-String_JSFormgetScopeNames_prs|trigger=none|class=sIndent}\{[String]} name -- The name of the new form
\{[JSForm]} superForm -- the super form that will extended from, see JSform.setExtendsForm();
{sub-section}{td}{tr}{tr:id=ret}{td}}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:newForm-String_JSFormgetScopeNames_ret|text=|trigger=button}{sub-section}{sub-section:newForm-StringgetScopeNames_JSForm_ret|trigger=none|class=sIndent}[String]\[JSForm] -- an array aof newString JSFormscope objectnames{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:newForm-String_JSFormgetScopeNames_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newForm-StringgetScopeNames_JSForm_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:newForm-StringgetScopeNames_JSForm_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newForm-String_JSFormgetScopeNames_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:newForm-String_JSFormgetScopeNames_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newForm-String_JSFormgetScopeNames_sam|trigger=none}{code:language=javascript}
//creates 2 forms with elements on them; shows the parent form, waits 2 seconds and shows the child form
var mySuperFormvar scopeNames = solutionModel.newForm('mySuperForm', 'myServerName', 'myTableName', null, false, 800, 600getScopeNames();
var label1 = mySuperForm.newLabel('LabelName', 20, 20, 120, 30);
label1.text = 'DataProvider';
label1.background = 'red';
mySuperForm.newTextField('myDataProvider', 140, 20, 140,20);
forms['mySuperForm'].controller.show();
application.sleep(2000);
var mySubForm = solutionModel.newForm('mySubForm', mySuperForm);
var label2 = mySuperForm.newLabel('SubForm Label', 20, 120, 120, 30);
label2.background = 'green';
forms['mySuperForm'].controller.recreateUI();
forms['mySubForm'].controller.show();
{codefor (var name in scopeNames)
	application.output(name);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getStyle|class=node}{tr:id=name}{td}h6.getStyle{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSStyle]{span}{span:id=iets|style=float: left; font-weight: bold;}getStyle{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:getStyle_des|text=|trigger=button}{sub-section}{sub-section:getStyle_des|trigger=none|class=sIndent}Gets the style specified by the given name.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getStyle_snc|text=|trigger=button}{sub-section}{sub-section:getStyle_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getStyle_prs|text=|trigger=button}{sub-section}{sub-section:getStyle_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name of the style
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getStyle_ret|text=|trigger=button}{sub-section}{sub-section:getStyle_ret|trigger=none|class=sIndent}[JSStyle] -- a JSStyle{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getStyle_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getStyle_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getStyle_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getStyle_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getStyle_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getStyle_sam|trigger=none}{code:language=javascript}
var style = solutionModel.getStyle('my_existing_style')
style.content = 'combobox { color: #0000ff;font: italic 10pt "Verdana";}'
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getValueList|class=node}{tr:id=name}{td}h6.getValueList{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSValueList]{span}{span:id=iets|style=float: left; font-weight: bold;}getValueList{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:getValueList_des|text=|trigger=button}{sub-section}{sub-section:getValueList_des|trigger=none|class=sIndent}Gets an existing valuelist by the specified name and returns a JSValueList Object that can be assigned to a field.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getValueList_snc|text=|trigger=button}{sub-section}{sub-section:getValueList_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getValueList_prs|text=|trigger=button}{sub-section}{sub-section:getValueList_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name of the valuelist
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getValueList_ret|text=|trigger=button}{sub-section}{sub-section:getValueList_ret|trigger=none|class=sIndent}[JSValueList] -- a JSValueList object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getValueList_see|text=|trigger=button}{sub-section}{div:class=sIndent}{tdsub-section:getValueList_see|trigger=none}{trsub-section}{tr:class=lastDetailRow}{tddiv}{td}{tr}{tbodybuilder-show}{tbodybuilder-show:id=newForm-String_String_String_Boolean_Number_Number|class=nodepermission=edit}{tr:id=namelink}{td}h6.newForm{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSForm]{span}{span:id=iets|style=float: left; font-weight: bold;}newForm{span}{span:id=iets|style=float: left;}\(name, dataSource, styleName, show_in_menu, width, height){span*External links*\\{sub-section:getValueList_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getValueList_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=dessam}{td}*Sample*\\{sub-section:newForm-String_String_String_Boolean_Number_Number_dessection:getValueList_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newForm-String_String_String_Boolean_Number_Number_desgetValueList_sam|trigger=none|class=sIndent}Creates a new JSForm Object.

NOTE: See the JSForm node for more information about form objects that can be added to the new form.}{code:language=javascript}
var myValueList = solutionModel.getValueList('myValueListHere')
//now set the valueList property of your field
//myField.valuelist = myValueList
{code}{sub-section}{div}{td}{tr}{tr}{builder-show:permission=edit:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getValueLists|class=node}{tr:id=name}{td}h6.getValueLists{td}{tr}{tr:id=sncsig}{td}*Since*\\{sub-section:newForm-String_String_String_Boolean_Number_Number_snc|text=|trigger=button}{sub-section}{sub-section:newForm-String_String_String_Boolean_Number_Number_snc|trigger=none|class=sIndent} Replace with version info{sub-section{span:style=float: left; margin-right: 5px;}[JSValueList]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getValueLists{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show}{tr:id=prsdes}{td}*Parameters*\\{sub-section:newForm-String_String_String_Boolean_Number_Number_prsgetValueLists_des|text=|trigger=button}{sub-section}{sub-section:newForm-String_String_String_Boolean_Number_Number_prsgetValueLists_des|trigger=none|class=sIndent}\{[String]} name -- the specified name of the form
\{[String]} dataSource -- the specified name of the datasource for the specified table
\{[String]} styleName -- the specified style
\{[Boolean]} show_in_menu -- if true show the name of the new form in the menu; or false for not showing
\{[Number]} width -- the width of the form in pixels
\{[Number]} height -- the height of the form in pixels
}Gets an array of all valuelists for the currently active solution.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getValueLists_snc|text=|trigger=button}{sub-section}{sub-section:getValueLists_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getValueLists_prs|text=|trigger=button}{sub-section}{sub-section:getValueLists_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:newForm-String_String_String_Boolean_Number_NumbergetValueLists_ret|text=|trigger=button}{sub-section}{sub-section:newForm-String_String_String_Boolean_Number_NumbergetValueLists_ret|trigger=none|class=sIndent}[JSFormJSValueList]\[] -- an aarray newof JSFormJSValueList objectobjects{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:newForm-String_String_String_Boolean_Number_Number_getValueLists_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newForm-String_String_String_Boolean_Number_Number_getValueLists_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:newForm-String_String_String_Boolean_Number_NumbergetValueLists_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newForm-String_String_String_Boolean_Number_Number_getValueLists_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:newForm-String_String_String_Boolean_Number_Number_getValueLists_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newForm-String_String_String_Boolean_Number_Number_getValueLists_sam|trigger=none}{code:language=javascript}
var myFormvalueLists = solutionModel.newForm('newForm', 'myServer', 'myTable', 'myStyleName', false, 800, 600)
//now you can add stuff to the form (under JSForm node)
//add a label
myForm.newLabel('Name', 20, 20, 120, 30)
//add a "normal" text entry field
myForm.newTextField('dataProviderNameHere', 140, 20, 140,20)getValueLists();
if (valueLists != null && valueLists.length != 0)
	for (var i in valueLists)
		application.output(valueLists[i].name);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newForm-String_String_String_String_Boolean_Number_NumberJSForm|class=node}{tr:id=name}{td}h6.newForm{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSForm]{span}{span:id=iets|style=float: left; font-weight: bold;}newForm{span}{span:id=iets|style=float: left;}\(name, serverName, tableName, styleName, show_in_menu, width, heightsuperForm){span}{td}{tr}{tr:id=des}{td}{sub-section:newForm-String_String_String_String_Boolean_Number_NumberJSForm_des|text=|trigger=button}{sub-section}{sub-section:newForm-String_String_String_String_Boolean_Number_NumberJSForm_des|trigger=none|class=sIndent}Creates a new JSFormform Object.with the NOTE: See the given JSForm nodeas for more information about form objects that can be added to the new formits super form.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:newForm-String_String_String_String_Boolean_Number_NumberJSForm_snc|text=|trigger=button}{sub-section}{sub-section:newForm-String_String_String_String_Boolean_Number_Number_JSForm_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:newForm-String_String_String_String_Boolean_Number_Number_JSForm_prs|text=|trigger=button}{sub-section}{sub-section:newForm-String_String_String_String_Boolean_Number_Number_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name of the form
\{[String]} serverName -- the specified name of the server for the specified table
\{[String]} tableName -- the specified name of the table
\{[String]} styleName -- the specified style
\{[Boolean]} show_in_menu -- if true show the section}{sub-section:newForm-String_JSForm_prs|trigger=none|class=sIndent}\{[String]} name -- The name of the new form
in the menu; or false for not showing
\{[NumberJSForm]} widthsuperForm -- the width of thesuper form inthat pixels
\{[Number]} height -- the height of the form in pixels
will extended from, see JSform.setExtendsForm();
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:newForm-String_String_String_String_Boolean_Number_Number_JSForm_ret|text=|trigger=button}{sub-section}{sub-section:newForm-String_String_String_String_Boolean_Number_Number_JSForm_ret|trigger=none|class=sIndent}[JSForm] -- a new JSForm object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:newForm-String_String_String_String_Boolean_Number_NumberJSForm_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newForm-String_String_String_String_Boolean_Number_Number_JSForm_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:newForm-String_String_String_String_Boolean_Number_Number_JSForm_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newForm-String_String_String_String_Boolean_Number_NumberJSForm_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:newForm-String_String_String_String_Boolean_Number_NumberJSForm_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newForm-String_String_String_String_Boolean_Number_NumberJSForm_sam|trigger=none}{code:language=javascript}
//creates 2 forms var myFormwith elements on them; shows the parent form, waits 2 seconds and shows the child form
var mySuperForm = solutionModel.newForm('newFormmySuperForm', 'myServerdb:/my_server/my_table', 'myTable'null, 'myStyleName', false, 800, 600)
//With only a datasource:
//;
var myFormlabel1 = solutionModelmySuperForm.newFormnewLabel('newForm'LabelName', 20, 20, datasource, 'myStyleName120, 30);
label1.text = 'DataProvider';
label1.background = 'red';
mySuperForm.newTextField('myDataProvider', false140, 80020, 600140,20)
//now you can add stuff to the form (under JSForm node)
//add a label
myForm.newLabel('Name;
forms['mySuperForm'].controller.show();
application.sleep(2000);
var mySubForm = solutionModel.newForm('mySubForm', mySuperForm);
var label2 = mySuperForm.newLabel('SubForm Label', 20, 20120, 120, 30)
//add a "normal" text entry field
myForm.newTextField('dataProviderNameHere', 140, 20, 140,20);
label2.background = 'green';
forms['mySuperForm'].controller.recreateUI();
forms['mySubForm'].controller.show();
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newGlobalMethodnewForm-String_String_String_Boolean_Number_Number|class=node}{tr:id=name}{td}h6.newGlobalMethodnewForm{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSMethod]JSForm]{span}{span:id=iets|style=float: left; font-weight: bold;}newForm{span}{span:id=iets|style=float: left; font-weight: bold;}newGlobalMethod{span}{span:id=iets|style=float: left;}\(code){span}\(name, dataSource, styleName, show_in_menu, width, height){span}{td}{tr}{tr:id=des}{td}{sub-section:newForm-String_String_String_Boolean_Number_Number_des|text=|trigger=button}{sub-section}{sub-section:newForm-String_String_String_Boolean_Number_Number_des|trigger=none|class=sIndent}Creates a new JSForm Object.

NOTE: See the JSForm node for more information about form objects that can be added to the new form.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=dessnc}{td}*Since*\\{sub-section:newGlobalMethod_desnewForm-String_String_String_Boolean_Number_Number_snc|text=|trigger=button}{sub-section}{sub-section:newGlobalMethod_desnewForm-String_String_String_Boolean_Number_Number_snc|trigger=none|class=sIndent}Creates a new global method Replace with the specified code.version info{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=sncprs}{td}*SinceParameters*\\{sub-section:newGlobalMethod_sncnewForm-String_String_String_Boolean_Number_Number_prs|text=|trigger=button}{sub-section}{sub-section:newGlobalMethod_sncnewForm-String_String_String_Boolean_Number_Number_prs|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:newGlobalMethod_prs|text=|trigger=button}{sub-section}{sub-section:newGlobalMethod_prs|trigger=none|class=sIndent}\{[String]} code\{[String]} name -- the specified name of the form
\{[String]} dataSource -- the specified name of the datasource for the specified table
\{[String]} styleName -- the specified style
\{[Boolean]} show_in_menu -- if true show the name of the new form in the menu; or false for not showing
\{[Number]} width -- the width of the form in pixels
\{[Number]} height -- the specifiedheight codeof forthe theform globalin methodpixels
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:newGlobalMethodnewForm-String_String_String_Boolean_Number_Number_ret|text=|trigger=button}{sub-section}{sub-section:newGlobalMethodnewForm-String_String_String_Boolean_Number_Number_ret|trigger=none|class=sIndent}[JSMethodJSForm] -- a JSMethodnew JSForm object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:newGlobalMethodnewForm-String_String_String_Boolean_Number_Number_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newGlobalMethodnewForm-String_String_String_Boolean_Number_Number_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:newGlobalMethodnewForm-String_String_String_Boolean_Number_Number_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newGlobalMethodnewForm-String_String_String_Boolean_Number_Number_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:newGlobalMethodnewForm-String_String_String_Boolean_Number_Number_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newGlobalMethodnewForm-String_String_String_Boolean_Number_Number_sam|trigger=none}{code:language=javascript}
var methodmyForm = solutionModel.newGlobalMethod('function myglobalmethod(){currentcontroller.newRecord()}'newForm('newForm', 'db:/my_server/my_table', 'myStyleName', false, 800, 600)
//now you can add stuff to the form (under JSForm node)
//add a label
myForm.newLabel('Name', 20, 20, 120, 30)
//add a "normal" text entry field
myForm.newTextField('dataProviderNameHere', 140, 20, 140,20)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newGlobalVariablenewForm-String_String_String_String_Boolean_Number_Number|class=node}{tr:id=name}{td}h6.newGlobalVariablenewForm{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSVariableJSForm]{span}{span:id=iets|style=float: left; font-weight: bold;}newGlobalVariablenewForm{span}{span:id=iets|style=float: left;}\(name, serverName, tableName, styleName, show_in_menu, width, typeheight){span}{td}{tr}{tr:id=des}{td}{sub-section:newGlobalVariablenewForm-String_String_String_String_Boolean_Number_Number_des|text=|trigger=button}{sub-section}{sub-section:newGlobalVariable:newForm-String_String_String_String_Boolean_Number_Number_des|trigger=none|class=sIndent}Creates a new global variable with the specified name and number typeJSForm Object.

NOTE: TheSee globalthe variableJSForm numbernode typefor ismore basedinformation onabout theform valueobjects assignedthat fromcan the SolutionModel\-JSVariable node; for example: JSVariable.INTEGERbe added to the new form.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:newGlobalVariablenewForm-String_String_String_String_Boolean_Number_Number_snc|text=|trigger=button}{sub-section}{sub-section:newGlobalVariablenewForm-String_String_String_String_Boolean_Number_Number_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:newGlobalVariable_prs|text=|trigger=button}{sub-section}{sub-section:newGlobalVariable_prs|trigger=none|class=sIndent}:id=prs}{td}*Parameters*\\{sub-section:newForm-String_String_String_String_Boolean_Number_Number_prs|text=|trigger=button}{sub-section}{sub-section:newForm-String_String_String_String_Boolean_Number_Number_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name of the form
\{[String]} serverName -- the specified name of the server for the specified table
\{[String]} tableName -- the specified name of the table
\{[String]} namestyleName -- the specified style
\{[Boolean]} show_in_menu -- if true show the name for of the new form in the global variable menu; or false for not showing
\{[Number]} typewidth -- the specified number type for the global variablewidth of the form in pixels
\{[Number]} height -- the height of the form in pixels
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:newGlobalVariablenewForm-String_String_String_String_Boolean_Number_Number_ret|text=|trigger=button}{sub-section}{sub-section:newGlobalVariablenewForm-String_String_String_String_Boolean_Number_Number_ret|trigger=none|class=sIndent}[JSVariableJSForm] -- a new JSVariableJSForm object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:newGlobalVariablenewForm-String_String_String_String_Boolean_Number_Number_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newGlobalVariable-section:newForm-String_String_String_String_Boolean_Number_Number_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:newGlobalVariablenewForm-String_String_String_String_Boolean_Number_Number_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newGlobalVariablenewForm-String_String_String_String_Boolean_Number_Number_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:newGlobalVariablenewForm-String_String_String_String_Boolean_Number_Number_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newGlobalVariablenewForm-String_String_String_String_Boolean_Number_Number_sam|trigger=none}{code:language=javascript}
var myGlobalVariablemyForm = solutionModel.newForm('newForm', 'my_server', 'my_table', 'myStyleName', false, 800, 600)
//With only a datasource:
//var myForm = solutionModel.newGlobalVariable('newGlobalVariable',JSVariable.INTEGER); 
	myGlobalVariable.defaultValue = 12;newForm('newForm', datasource, 'myStyleName', false, 800, 600)
//now you can add stuff to the form (under JSForm node)
//add a label
myForm.newLabel('Name', 20, 20, 120, 30)
//add a "normal" text entry field
myForm.newTextField('dataProviderNameHere', 140, 20, 140,20)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newMedianewGlobalMethod-String_String|class=node}{tr:id=name}{td}h6.newMedianewGlobalMethod{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSMediaJSMethod]{span}{span:id=iets|style=float: left; font-weight: bold;}newMedianewGlobalMethod{span}{span:id=iets|style=float: left;}\(namescopeName, bytescode){span}{td}{tr}{tr:id=des}{td}{sub-section:newMedianewGlobalMethod-String_String_des|text=|trigger=button}{sub-section}{sub-section:newMedianewGlobalMethod-String_String_des|trigger=none|class=sIndent}Creates a new mediaglobal objectmethod thatwith canthe bespecified assignedcode toin a label or a buttonscope.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:newMedianewGlobalMethod-String_String_snc|text=|trigger=button}{sub-section}{sub-section:newMedianewGlobalMethod-String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:newMedianewGlobalMethod-String_String_prs|text=|trigger=button}{sub-section}{sub-section:newMedianewGlobalMethod-String_String_prs|trigger=none|class=sIndent}\{[String]} namescopeName -- the Thescope namein ofwhich the method newis mediacreated
\{byte[String]} bytescode -- The content the specified code for the global method
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:newMedianewGlobalMethod-String_String_ret|text=|trigger=button}{sub-section}{sub-section:newMedianewGlobalMethod-String_String_ret|trigger=none|class=sIndent}[JSMediaJSMethod] -- a JSMediaJSMethod object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:newMedianewGlobalMethod-String_String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newMedianewGlobalMethod-String_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:newMedianewGlobalMethod-String_String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newMedianewGlobalMethod-String_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:newMedianewGlobalMethod-String_String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newMedia_sam|trigger=none}{code:language=javascript}
var myMedia = solutionModel.newMedia('button01.gif',bytes)
//now set the imageMedia property of your label or button
//myButton.imageMedia = myMedia
// OR
//myLabel.imageMedia = myMedianewGlobalMethod-String_String_sam|trigger=none}{code:language=javascript}
var method = solutionModel.newGlobalMethod('globals', 'function myglobalmethod(){currentcontroller.newRecord()}')
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newRelationnewGlobalVariable-String_String_String_Number|class=node}{tr:id=name}{td}h6.newRelationnewGlobalVariable{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSRelationJSVariable]{span}{span:id=iets|style=float: left; font-weight: bold;}newRelationnewGlobalVariable{span}{span:id=iets|style=float: left;}\(namescopeName, primaryDataSourcename, foreignDataSource, joinTypetype){span}{td}{tr}{tr:id=des}{td}{sub-section:newRelationnewGlobalVariable-String_String_String_Number_des|text=|trigger=button}{sub-section}{sub-section:newRelationnewGlobalVariable-String_String_String_Number_des|trigger=none|class=sIndent}Creates a new JSRelationglobal Objectvariable with athe specified name; and includesnumber thetype.
primary
datasource,NOTE: foreignThe datasourceglobal andvariable thenumber type of join for the new relation is based on the value assigned from the SolutionModel\-JSVariable node; for example: JSVariable.INTEGER.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:newRelationnewGlobalVariable-String_String_String_Number_snc|text=|trigger=button}{sub-section}{sub-section:newRelationnewGlobalVariable-String_String_String_Number_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:newRelationnewGlobalVariable-String_String_String_Number_prs|text=|trigger=button}{sub-section}{sub-section:newRelationnewGlobalVariable-String_String_String_Number_prs|trigger=none|class=sIndent}\{[String]} namescopeName -- the specifiedscope namein ofwhich the newvariable is relationcreated
\{[String]} primaryDataSourcename -- the specified name offor the primaryglobal datasourcevariable
\{[StringNumber]} foreignDataSourcetype -- the specified name of the foreign datasource
\{[Number]} joinType -- the type of join for the new relation; JSRelation.INNER\_JOIN, JSRelation.LEFT\_OUTER\_JOINnumber type for the global variable
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:newRelationnewGlobalVariable-String_String_String_Number_ret|text=|trigger=button}{sub-section}{sub-section:newRelationnewGlobalVariable-String_String_String_Number_ret|trigger=none|class=sIndent}[JSRelationJSVariable] -- a JSRelationJSVariable object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:newRelationnewGlobalVariable-String_String_String_Number_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newRelationnewGlobalVariable-String_String_String_Number_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:newRelationnewGlobalVariable-String_String_String_Number_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newRelationnewGlobalVariable-String_String_String_Number_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:newRelationnewGlobalVariable-String_String_String_Number_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newRelationnewGlobalVariable-String_String_String_Number_sam|trigger=none}{code:language=javascript}
var relmyGlobalVariable = solutionModel.newRelationnewGlobalVariable('myRelationglobals', 'myPrimaryDataSourcenewGlobalVariable','myForeignDataSource',JSRelation.INNER_JOIN JSVariable.INTEGER); 
application.output(rel.getRelationItems());myGlobalVariable.defaultValue = 12;
	//myGlobalVariable.defaultValue = "{a:'First letter',b:'Second letter'}"
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newRelation-String_String_String_String_String_NumbernewMedia|class=node}{tr:id=name}{td}h6.newRelationnewMedia{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSRelationJSMedia]{span}{span:id=iets|style=float: left; font-weight: bold;}newRelationnewMedia{span}{span:id=iets|style=float: left;}\(name, primaryServerName, primaryTableName, foreignServerName, foreignTableName, joinTypebytes){span}{td}{tr}{tr:id=des}{td}{sub-section:newRelation-String_String_String_String_String_NumbernewMedia_des|text=|trigger=button}{sub-section}{sub-section:newRelation-String_String_String_String_String_Number_newMedia_des|trigger=none|class=sIndent}Creates a new JSRelationmedia Objectobject withthat acan specifiedbe name; includes the primary server and table name, foreign server and table name, and the type of join for the new relationassigned to a label or a button.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:newRelation-String_String_String_String_String_Number_newMedia_snc|text=|trigger=button}{sub-section}{sub-section:newRelation-String_String_String_String_String_Number_newMedia_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:newRelation-String_String_String_String_String_NumbernewMedia_prs|text=|trigger=button}{sub-section}{sub-section:newRelation-String_String_String_String_String_Number_newMedia_prs|trigger=none|class=sIndent}\{[String]} name -- theThe specified name of the new relationmedia
\{byte[String]} primaryServerNamebytes -- theThe specified name of the primary server
\{[String]} primaryTableName -- the specified name of the primary table
\{[String]} foreignServerName -- the specified name of the foreign server
\{[String]} foreignTableName -- the specified name of the foreign table
\{[Number]} joinType -- the type of join for the new relation; JSRelation.INNER\_JOIN, JSRelation.LEFT\_OUTER\_JOIN
{content
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:newRelation-String_String_String_String_String_Number-section:newMedia_ret|text=|trigger=button}{sub-section}{sub-section:newRelation-String_String_String_String_String_Number_newMedia_ret|trigger=none|class=sIndent}[JSRelationJSMedia] -- a JSRelationJSMedia object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:newRelation-String_String_String_String_String_NumbernewMedia_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newRelation-String_String_String_String_String_NumbernewMedia_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:newRelation-String_String_String_String_String_Number_newMedia_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newRelation-String_String_String_String_String_Number_newMedia_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:newRelation-String_String_String_String_String_Number_newMedia_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newRelation-String_String_String_String_String_NumbernewMedia_sam|trigger=none}{code:language=javascript}
var relmyMedia = solutionModel.newRelationnewMedia('myRelation','myPrimaryServerName','myPrimaryTableName','myForeignServerName','myForeignTableName',JSRelation.INNER_JOIN);
application.output(rel.getRelationItems());button01.gif',bytes)
//now set the imageMedia property of your label or button
//myButton.imageMedia = myMedia
// OR
//myLabel.imageMedia = myMedia
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newStylenewRelation-String_String_String_Number|class=node}{tr:id=name}{td}h6.newStylenewRelation{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSStyleJSRelation]{span}{span:id=iets|style=float: left; font-weight: bold;}newStylenewRelation{span}{span:id=iets|style=float: left;}\(name, primaryDataSource, foreignDataSource, contentjoinType){span}{td}{tr}{tr:id=des}{td}{sub-section:newStylesub-section:newRelation-String_String_String_Number_des|text=|trigger=button}{sub-section}{sub-section:newStylenewRelation-String_String_String_Number_des|trigger=none|class=sIndent}Creates a new styleJSRelation Object with thea givenspecified css content string undername; includes the givenprimary name.datasource, foreign NOTE:datasource Willand throwthe antype exceptionof ifjoin afor stylethe with that name already existsnew relation.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:newStylenewRelation-String_String_String_Number_snc|text=|trigger=button}{sub-section}{sub-section:newStylenewRelation-String_String_String_Number_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:newStylenewRelation-String_String_String_Number_prs|text=|trigger=button}{sub-section}{sub-section:newStylenewRelation-String_String_String_Number_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name of the new stylerelation
\{[String]} primaryDataSource -- the specified name of the primary datasource
\{[String]} contentforeignDataSource -- the cssspecified contentname of the foreign datasource
\{[Number]} joinType -- the type of join for the new style relation; JSRelation.INNER\_JOIN, JSRelation.LEFT\_OUTER\_JOIN
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:newStylenewRelation-String_String_String_Number_ret|text=|trigger=button}{sub-section}{sub-section:newStylenewRelation-String_String_String_Number_ret|trigger=none|class=sIndent}[JSStyleJSRelation] -- a JSStyleJSRelation object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:newStyle-section:newRelation-String_String_String_Number_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newStylenewRelation-String_String_String_Number_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:newStylenewRelation-String_String_String_Number_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newStylenewRelation-String_String_String_Number_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:newStylenewRelation-String_String_String_Number_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newStylenewRelation-String_String_String_Number_sam|trigger=none}{code:language=javascript}
var formrel = solutionModel.newFormnewRelation('myFormmyRelation','myServer','myTable',null,true,1000,800);
	if (form.transparent == false)
	{
		var style = solutionModel.newStyle('myStyle','form { background-color: yellow; }');
		style.text = style.text + 'field { background-color: blue; }';
		form.styleName = 'myStyle';
	}
	var field = form.newField('columnTextDataProvider',JSField.TEXT_FIELD,100,100,100,50);
	forms['myForm'].controller.show( myPrimaryDataSource, myForeignDataSource, JSRelation.INNER_JOIN);
application.output(rel.getRelationItems());
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newValueListnewStyle|class=node}{tr:id=name}{td}h6.newValueListnewStyle{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSValueListJSStyle]{span}{span:id=iets|style=float: left; font-weight: bold;}newValueListnewStyle{span}{span:id=iets|style=float: left;}\(name, typecontent){span}{td}{tr}{tr:id=des}{td}{sub-section:newValueListnewStyle_des|text=|trigger=button}{sub-section}{sub-section:newValueListnewStyle_des|trigger=none|class=sIndent}Creates a new valueliststyle with the specifiedgiven css content string under the given name and number type.

NOTE: Will throw an exception if a style with that name already exists.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:newValueListnewStyle_snc|text=|trigger=button}{sub-section}{sub-section:newValueListnewStyle_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:newValueListnewStyle_prs|text=|trigger=button}{sub-section}{sub-section:newValueListnewStyle_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name forof the new valueliststyle
\{[NumberString]} typecontent -- the specifiedcss numbercontent type forof the valuelist; may be JSValueList.CUSTOM\_VALUES, JSValueList.DATABASE\_VALUES, JSValueList.EMPTY\_VALUE\_ALWAYS, JSValueList.EMPTY\_VALUE\_NEVER
new style
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:newValueListnewStyle_ret|text=|trigger=button}{sub-section}{sub-section:newValueListnewStyle_ret|trigger=none|class=sIndent}[JSValueListJSStyle] -- a JSValueListJSStyle object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:newValueListnewStyle_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newValueListnewStyle_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:newValueListnewStyle_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newValueListnewStyle_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:newValueListnewStyle_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:newValueListnewStyle_sam|trigger=none}{code:language=javascript}
var vl1form = solutionModel.newValueList("customText",JSValueList.CUSTOM_VALUES);
vl1.customValues = "customvalue1\ncustomvalue2";
var vl2 = solutionModel.newValueList("customid",JSValueList.CUSTOM_VALUES);
vl2.customValues = "customvalue1|1\ncustomvalue2|2";
var formnewForm('myForm','db:/my_server/my_table',null,true,1000,800);
if (form.transparent == false)
{
	var style = solutionModel.newForm("customValueListForm",controller.getDataSource(),null,true,300,300);
var combo1 = form.newComboBox("globals.text",10,10,120,20);
combo1.valuelist = vl1;
var combo2newStyle('myStyle','form { background-color: yellow; }');
	style.text = style.text + 'field { background-color: blue; }';
	form.styleName = 'myStyle';
}
var field = form.newComboBox("globals.id",10,60,120,20);
combo2.valuelist = vl2newField('columnTextDataProvider',JSField.TEXT_FIELD,100,100,100,50);
forms['myForm'].controller.show();
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeCalculationnewValueList|class=node}{tr:id=name}{td}h6.removeCalculationnewValueList{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[BooleanJSValueList]{span}{span:id=iets|style=float: left; font-weight: bold;}removeCalculationnewValueList{span}{span:id=iets|style=float: left;}\(name, datasourcetype){span}{td}{tr}{tr:id=des}{td}{sub-section:removeCalculationnewValueList_des|text=|trigger=button}{sub-section}{sub-section:removeCalculationnewValueList_des|trigger=none|class=sIndent}RemovesCreates a new valuelist with the calculation specified by name and datasourcenumber type.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:removeCalculationnewValueList_snc|text=|trigger=button}{sub-section}{sub-section:removeCalculationnewValueList_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:removeCalculationnewValueList_prs|text=|trigger=button}{sub-section}{sub-section:removeCalculationnewValueList_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name offor the calculation to be removedvaluelist
\{[StringNumber]} datasourcetype -- the specified number type for the datasource the calculation belongs to valuelist; may be JSValueList.CUSTOM\_VALUES, JSValueList.DATABASE\_VALUES, JSValueList.EMPTY\_VALUE\_ALWAYS, JSValueList.EMPTY\_VALUE\_NEVER
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:removeCalculationnewValueList_ret|text=|trigger=button}{sub-section}{sub-section:removeCalculationnewValueList_ret|trigger=none|class=sIndent}[BooleanJSValueList] -- truea if the removal was successful, false otherwiseJSValueList object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:removeCalculationnewValueList_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeCalculationnewValueList_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:removeCalculationnewValueList_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeCalculationnewValueList_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:removeCalculationnewValueList_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeCalculationnewValueList_sam|trigger=none}{code:language=javascript}
var calc1vl1 = solutionModel.newCalculationnewValueList("function myCalculation1() { return 123; }customText", JSVariable.INTEGER, "db:/example_data/customers"JSValueList.CUSTOM_VALUES);
var calc2 = solutionModel.newCalculation("function myCalculation2() { return '20'; }", "db:/example_data/customers");

var c = solutionModel.getCalculation("myCalculation1", "db:/example_data/customers");
application.output("Name: " + c.getName() + ", Stored: " + c.isStored());

solutionModel.removeCalculation("myCalculation1", "db:/example_data/customers");
cvl1.customValues = "customvalue1\ncustomvalue2";
var vl2 = solutionModel.getCalculationnewValueList("myCalculation1customid", "db:/example_data/customers"JSValueList.CUSTOM_VALUES);
if (c != null) {
		application.output("myCalculation could not be removed.");
}

var allCalcs = solutionModel.getCalculations("db:/example_data/customers");
for (var i = 0; i < allCalcs.length; i++) {
		application.output(allCalcs[i]);
}vl2.customValues = "customvalue1|1\ncustomvalue2|2";
var form = solutionModel.newForm("customValueListForm",controller.getDataSource(),null,true,300,300);
var combo1 = form.newComboBox("scopes.globals.text",10,10,120,20);
combo1.valuelist = vl1;
var combo2 = form.newComboBox("scopes.globals.id",10,60,120,20);
combo2.valuelist = vl2;
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeForm|class=node}{tr:id=name}{td}h6.removeForm{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}removeForm{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:removeForm_des|text=|trigger=button}{sub-section}{sub-section:removeForm_des|trigger=none|class=sIndent}Removes the specified form during the persistent connected client session.

NOTE: Make sure you call history.remove first in your Servoy method (script).{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:removeForm_snc|text=|trigger=button}{sub-section}{sub-section:removeForm_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:removeForm_prs|text=|trigger=button}{sub-section}{sub-section:removeForm_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name of the form to remove
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:removeForm_ret|text=|trigger=button}{sub-section}{sub-section:removeForm_ret|trigger=none|class=sIndent}[Boolean] -- true is form has been removed, false if form could not be removed{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:removeForm_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeForm_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:removeForm_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeForm_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:removeForm_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeForm_sam|trigger=none}{code:language=javascript}
//first remove it from the current history, to destroy any active form instance
var success = history.removeForm('myForm')
//removes the named form from this session, please make sure you called history.remove() first
if(success)
{
	solutionModel.removeForm('myForm')
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeGlobalMethod-String_String|class=node}{tr:id=name}{td}h6.removeGlobalMethod{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}removeGlobalMethod{span}{span:id=iets|style=float: left;}\(scopeName, name){span}{td}{tr}{tr:id=des}{td}{sub-section:removeGlobalMethod-String_String_des|text=|trigger=button}{sub-section}{sub-section:removeGlobalMethod-String_String_des|trigger=none|class=sIndent}Removes the specified global method.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:removeGlobalMethod-String_String_snc|text=|trigger=button}{sub-section}{sub-section:removeGlobalMethod-String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:removeGlobalMethod-String_String_prs|text=|trigger=button}{sub-section}{sub-section:removeGlobalMethod_prs|trigger=none|class=sIndent}-String_String_prs|trigger=none|class=sIndent}\{[String]} scopeName -- the scope in which the method is declared
\{[String]} name -- the name of the global method to be removed
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:removeGlobalMethod-String_String_ret|text=|trigger=button}{sub-section}{sub-section:removeGlobalMethod-String_String_ret|trigger=none|class=sIndent}[Boolean] -- true if the removal was successful, false otherwise{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:removeGlobalMethod-String_String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeGlobalMethod-String_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:removeGlobalMethod-String_String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeGlobalMethod-String_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:removeGlobalMethod-String_String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeGlobalMethod-String_String_sam|trigger=none}{code:language=javascript}
var m1 = solutionModel.newGlobalMethod('globals', 'function myglobalmethod1(){application.output("Global Method 1");}');
var m2 = solutionModel.newGlobalMethod('globals', 'function myglobalmethod2(){application.output("Global Method 2");}');

var success = solutionModel.removeGlobalMethod("myglobalmethod1"'globals', 'myglobalmethod1');
if (success == false) application.output("'!!! myglobalmethod1 could not be removed !!!"');

var list = solutionModel.getGlobalMethods('globals');
for (var i = 0; i < list.length; i++) { 
		application.output(list[i].code);
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeGlobalVariable-String_String|class=node}{tr:id=name}{td}h6.removeGlobalVariable{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}removeGlobalVariable{span}{span:id=iets|style=float: left;}\(scopeName, name){span}{td}{tr}{tr:id=des}{td}{sub-section:removeGlobalVariable-String_String_des|text=|trigger=button}{sub-section}{sub-section:removeGlobalVariable-String_String_des|trigger=none|class=sIndent}Removes the specified global variable.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:removeGlobalVariable-String_String_snc|text=|trigger=button}{sub-section}{sub-section:removeGlobalVariable-String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:removeGlobalVariable-String_String_prs|text=|trigger=button}{sub-section}{sub-section:removeGlobalVariable-String_String_prs|trigger=none|class=sIndent}\{[String]} scopeName -- the scope in which the variable is declared
\{[String]} name -- the name of the global variable to be removed
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:removeGlobalVariable-String_String_ret|text=|trigger=button}{sub-section}{sub-section:removeGlobalVariable-String_String_ret|trigger=none|class=sIndent}[Boolean] -- true if the removal was successful, false otherwise{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:removeGlobalVariable-String_String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeGlobalVariable-String_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:removeGlobalVariable-String_String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeGlobalVariable-String_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:removeGlobalVariable-String_String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeGlobalVariable-String_String_sam|trigger=none}{code:language=javascript}
var v1 = solutionModel.newGlobalVariable("globalVar1",'globals', 'globalVar1', JSVariable.INTEGER);
var v2 = solutionModel.newGlobalVariable("globalVar2",'globals', 'globalVar2', JSVariable.TEXT);

var success = solutionModel.removeGlobalVariable("globalVar1"'globals', 'globalVar1');
if (success == false) application.output("'!!! globalVar1 could not be removed !!!"');

var list = solutionModel.getGlobalVariables('globals');
for (var i = 0; i < list.length; i++) {
		application.output(list[i].name + "'[ "' + list[i].variableType + "']: "' + list[i].variableType);
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeMedia|class=node}{tr:id=name}{td}h6.removeMedia{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}removeMedia{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:removeMedia_des|text=|trigger=button}{sub-section}{sub-section:removeMedia_des|trigger=none|class=sIndent}Removes the media item specified by name.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:removeMedia_snc|text=|trigger=button}{sub-section}{sub-section:removeMedia_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:removeMedia_prs|text=|trigger=button}{sub-section}{sub-section:removeMedia_prs|trigger=none|class=sIndent}\{[String]} name -- the name of the media item to be removed
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:removeMedia_ret|text=|trigger=button}{sub-section}{sub-section:removeMedia_ret|trigger=none|class=sIndent}[Boolean] -- true if the removal was successful, false otherwise{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:removeMedia_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeMedia_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:removeMedia_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeMedia_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:removeMedia_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeMedia_sam|trigger=none}{code:language=javascript}
var bytes1 = plugins.file.readFile('D:/Imgs/image1.png');
var image1 = solutionModel.newMedia('image1.png', bytes1);
var bytes2 = plugins.file.readFile('D:/Imgs/image2.jpg');
var image2 = solutionModel.newMedia('image2.jpg',bytes2);
var bytes3 = plugins.file.readFile('D:/Imgs/image3.jpg');
var image3 = solutionModel.newMedia('image3.jpg',bytes3);

var f = solutionModel.newForm("newForm",currentcontroller.getDataSource(),null,false,500,350);
var l = f.newLabel('', 20, 70, 300, 200);
l.imageMedia = image1;
l.borderType =  solutionModel.createLineBorder(4,'#ff0000');
forms["newForm"].controller.show();

var status = solutionModel.removeMedia('image1.jpg');
if (status) application.output("image1.png has been removed");
else application.output("image1.png has not been removed");

var mediaList = solutionModel.getMediaList();
for (var i = 0; i < mediaList.length; i++) {
		application.output(mediaList[i].getName() + ":" + mediaList[i].mimeType);
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeRelation|class=node}{tr:id=name}{td}h6.removeRelation{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}removeRelation{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:removeRelation_des|text=|trigger=button}{sub-section}{sub-section:removeRelation_des|trigger=none|class=sIndent}Removes the relation specified by name.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:removeRelation_snc|text=|trigger=button}{sub-section}{sub-section:removeRelation_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:removeRelation_prs|text=|trigger=button}{sub-section}{sub-section:removeRelation_prs|trigger=none|class=sIndent}\{[String]} name -- the name of the relation to be removed
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:removeRelation_ret|text=|trigger=button}{sub-section}{sub-section:removeRelation_ret|trigger=none|class=sIndent}[Boolean] -- true if the removal was successful, false otherwise{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:removeRelation_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeRelation_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:removeRelation_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeRelation_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:removeRelation_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeRelation_sam|trigger=none}{code:language=javascript}
var success = solutionModel.removeRelation('myRelation');
if (success) { application.output("Relation has been removed");}
else {application.output("Relation could not be removed");}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeStyle|class=node}{tr:id=name}{td}h6.removeStyle{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}removeStyle{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:removeStyle_des|text=|trigger=button}{sub-section}{sub-section:removeStyle_des|trigger=none|class=sIndent}Removes the specified style.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:removeStyle_snc|text=|trigger=button}{sub-section}{sub-section:removeStyle_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:removeStyle_prs|text=|trigger=button}{sub-section}{sub-section:removeStyle_prs|trigger=none|class=sIndent}\{[String]} name -- the name of the style to be removed
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:removeStyle_ret|text=|trigger=button}{sub-section}{sub-section:removeStyle_ret|trigger=none|class=sIndent}[Boolean] -- true if the removal was successful, false otherwise{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:removeStyle_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeStyle_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:removeStyle_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeStyle_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:removeStyle_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeStyle_sam|trigger=none}{code:language=javascript}
var s = solutionModel.newStyle("smStyle1",'form { background-color: yellow; }');
var status = solutionModel.removeStyle("smStyle1");
if (status == false) application.output("Could not remove style.");
else application.output("Style removed.");
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeValueList|class=node}{tr:id=name}{td}h6.removeValueList{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}removeValueList{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:removeValueList_des|text=|trigger=button}{sub-section}{sub-section:removeValueList_des|trigger=none|class=sIndent}Removes the specified valuelist.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:removeValueList_snc|text=|trigger=button}{sub-section}{sub-section:removeValueList_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:removeValueList_prs|text=|trigger=button}{sub-section}{sub-section:removeValueList_prs|trigger=none|class=sIndent}\{[String]} name -- name of the valuelist to be removed
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:removeValueList_ret|text=|trigger=button}{sub-section}{sub-section:removeValueList_ret|trigger=none|class=sIndent}[Boolean] -- true if the removal was successful, false otherwise{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:removeValueList_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeValueList_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:removeValueList_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeValueList_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:removeValueList_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:removeValueList_sam|trigger=none}{code:language=javascript}
var vlName = "customValueList";
var vl = solutionModel.newValueList(vlName,JSValueList.CUSTOM_VALUES);
vl.customValues = "customvalue1\ncustomvalue2";

var status = solutionModel.removeValueList(vlName);
if (status) application.output("Removal has been done.");
else application.output("ValueList not removed.");

var vls = solutionModel.getValueLists();
if (vls != null) {
	for (var i = 0; i < vls.length; i++) {
		application.output(vls[i]);
	}
	application.output("");
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=revertForm|class=node}{tr:id=name}{td}h6.revertForm{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSForm]{span}{span:id=iets|style=float: left; font-weight: bold;}revertForm{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:revertForm_des|text=|trigger=button}{sub-section}{sub-section:revertForm_des|trigger=none|class=sIndent}Reverts the specified form to the original (blueprint) version of the form; will result in an exception error if the form is not an original form.

NOTE: Make sure you call history.remove first in your Servoy method (script) or call form.controller.recreateUI() before the script ends.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:revertForm_snc|text=|trigger=button}{sub-section}{sub-section:revertForm_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:revertForm_prs|text=|trigger=button}{sub-section}{sub-section:revertForm_prs|trigger=none|class=sIndent}\{[String]} name -- the specified name of the form to revert
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:revertForm_ret|text=|trigger=button}{sub-section}{sub-section:revertForm_ret|trigger=none|class=sIndent}[JSForm] -- a JSForm object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:revertForm_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:revertForm_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:revertForm_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:revertForm_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:revertForm_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:revertForm_sam|trigger=none}{code:language=javascript}
// revert the form to the original solution form, removing any changes done to it through the solution model.

var revertedForm = solutionModel.revertForm('myForm')

// add a label on a random place.
 revertedForm.newLabel("MyLabel",Math.random()*100,Math.random()*100,80,20);
 // make sure that the ui is up to date.
 forms.myForm.controller.recreateUI();
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=wrapMethodWithArguments|class=node}{tr:id=name}{td}h6.wrapMethodWithArguments{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSMethod]{span}{span:id=iets|style=float: left; font-weight: bold;}wrapMethodWithArguments{span}{span:id=iets|style=float: left;}\(method, args){span}{td}{tr}{tr:id=des}{td}{sub-section:wrapMethodWithArguments_des|text=|trigger=button}{sub-section}{sub-section:wrapMethodWithArguments_des|trigger=none|class=sIndent}Get a JSMethod instance with arguments to be assigned to an event.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:wrapMethodWithArguments_snc|text=|trigger=button}{sub-section}{sub-section:wrapMethodWithArguments_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:wrapMethodWithArguments_prs|text=|trigger=button}{sub-section}{sub-section:wrapMethodWithArguments_prs|trigger=none|class=sIndent}\{[JSMethod]} method -- JSMethod to be assigned to an event
\{[Object]\[]...} args -- positional arguments
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:wrapMethodWithArguments_ret|text=|trigger=button}{sub-section}{sub-section:wrapMethodWithArguments_ret|trigger=none|class=sIndent}[JSMethod] -- a JSMethod{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:wrapMethodWithArguments_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:wrapMethodWithArguments_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:wrapMethodWithArguments_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:wrapMethodWithArguments_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:wrapMethodWithArguments_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:wrapMethodWithArguments_sam|trigger=none}{code:language=javascript}
var str = "John's Bookstore"
var form = solutionModel.getForm('orders')
var button = form.getButton('abutton')
var method = form.getFormMethod('doit') // has 4 arguments: event (fixed), boolean, number and string
// string arguments have to be quoted, they are interpreted before the method is called
var quotedString = "'"+utils.stringReplace(str, "'", "\\'")+"'"
// list all arguments the method has, use nulls for fixed arguments (like event)
button.onAction = solutionModel.wrapMethodWithArguments(method, [null, true, 42, quotedString])
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}