{div:style=display:none}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY (EXCEPT INSIDE THE DIV BELOW WITH ID=DESCRIPTION), UNLESS YOU KNOW WHAT YOU'RE DOING.
THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO AUTO UPDATE THE CONTENT THROUGH THE DOC GENERATOR{div}
{div:id=description}{div}\\
{table:id=|class=servoy 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:width=80px|padding=0px}{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 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}[#createRoundedBorder]\(top_width, right_width, bottom_width, left_width, top_color, right_color, bottom_color, left_color, rounding_radius, border_style)
Create a special matte border string.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#createSpecialMatteBorder]\(top_width, right_width, bottom_width, left_width, top_color, right_color, bottom_color, left_color, rounding_radius, dash_pattern)
Create a special matte border string.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#createTitledBorder]\(title_text, font, color, title_justification, title_position)
Create a titled border string.{td}{tr}{tbody}{tbody}{tr}{td}[JSDataSourceNode]{td}{td}[#getDataSourceNode]\(dataSource)
Gets 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]\(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]\[]{td}{td}[#getRelations]\(servername, tablename)
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}[String]\[]{td}{td}[#getScopeNames]\()
Gets an array of all scope names used.{td}{tr}{tbody}{tbody}{tr}{td}[JSStyle]{td}{td}[#getStyle]\(name)
Gets the style specified by the given name.{td}{tr}{tbody}{tbody}{tr}{td}[JSValueList]{td}{td}[#getValueList]\(name)
Gets an existing valuelist by the specified name and returns a JSValueList Object that can be assigned to a field.{td}{tr}{tbody}{tbody}{tr}{td}[JSValueList]\[]{td}{td}[#getValueLists]\()
Gets an array of all valuelists for the currently active 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}[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}[#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:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=cloneComponent-String_JSComponent}{tr:id=name}{td}h6.cloneComponent{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSComponent]{span}{span:style=font-weight: bold;}cloneComponent{span}{span}\(newName, component){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} newName -- the new name of the cloned component
\{[JSComponent]} component -- the component to clone
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSComponent] -- the exact copy of the given component{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{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}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=cloneComponent-String_JSComponent_JSForm}{tr:id=name}{td}h6.cloneComponent{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSComponent]{span}{span:style=font-weight: bold;}cloneComponent{span}{span}\(newName, component, newParentForm){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} newName -- the new name of the cloned component
\{[JSComponent]} component -- the component to clone
\{[JSForm]} newParentForm -- the new parent form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSComponent] -- the exact copy of the given component{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{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}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=cloneForm-String_JSForm}{tr:id=name}{td}h6.cloneForm{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSForm]{span}{span:style=font-weight: bold;}cloneForm{span}{span}\(newName, jsForm){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} newName -- the new name for the form clone
\{[JSForm]} jsForm -- the form to be cloned
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSForm] -- a JSForm{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{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}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createBevelBorder-Number_String_String_String_String}{tr:id=name}{td}h6.createBevelBorder{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}createBevelBorder{span}{span}\(bevel_type, highlight_outer_color, highlight_inner_color, shadow_outer_color, shadow_inner_color){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div: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
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.getForm("someForm");
form.borderType = solutionModel.createBevelBorder(SM_BEVELTYPE.RAISED,'#ff0000','#00ff00','#ff0000','#00ff00');
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createEmptyBorder-Number_Number_Number_Number}{tr:id=name}{td}h6.createEmptyBorder{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}createEmptyBorder{span}{span}\(top_width, right_width, bottom_width, left_width){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div: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
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.getForm("someForm");
form.borderType = solutionModel.createEmptyBorder(1,1,1,1);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createEtchedBorder-Number_String_String}{tr:id=name}{td}h6.createEtchedBorder{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}createEtchedBorder{span}{span}\(bevel_type, highlight_color, shadow_color){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Number]} bevel_type -- bevel border type
\{[String]} highlight_color -- bevel border highlight color
\{[String]} shadow_color -- bevel border shadow color
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.getForm("someForm");
form.borderType = solutionModel.createEtchedBorder(SM_BEVELTYPE.RAISED,'#ff0000','#00ff00');
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createFont-String_Number_Number}{tr:id=name}{td}h6.createFont{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}createFont{span}{span}\(name, style, size){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div: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
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.getForm("someForm");
var component = form.getComponent("someComponent")
component.fontType = solutionModel.createFont('Arial',SM_FONTSTYLE.BOLD,14);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createLineBorder-Number_String}{tr:id=name}{td}h6.createLineBorder{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}createLineBorder{span}{span}\(thick, color){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Number]} thick -- border thickness in pixels
\{[String]} color -- color of the line border
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.getForm("someForm");
form.borderType = solutionModel.createLineBorder(1,'#ff0000');
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createMatteBorder-Number_Number_Number_Number_String}{tr:id=name}{td}h6.createMatteBorder{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}createMatteBorder{span}{span}\(top_width, right_width, bottom_width, left_width, color){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div: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
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.getForm("someForm");
form.borderType = solutionModel.createMatteBorder(1,1,1,1,"#00ff00");
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createPageFormat-Number_Number_Number_Number_Number_Number}{tr:id=name}{td}h6.createPageFormat{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}createPageFormat{span}{span}\(width, height, leftmargin, rightmargin, topmargin, bottommargin){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div: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.
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.getForm("someForm");
form.defaultPageFormat = solutionModel.createPageFormat(612,792,72,72,72,72,SM_ORIENTATION.PORTRAIT,SM_UNITS.PIXELS);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createPageFormat-Number_Number_Number_Number_Number_Number_Number}{tr:id=name}{td}h6.createPageFormat{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}createPageFormat{span}{span}\(width, height, leftmargin, rightmargin, topmargin, bottommargin, orientation){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div: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.
\{[Number]} orientation -- the specified orientation of the page to be printed; the default is Portrait mode
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.getForm("someForm");
form.defaultPageFormat = solutionModel.createPageFormat(612,792,72,72,72,72,SM_ORIENTATION.PORTRAIT,SM_UNITS.PIXELS);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createPageFormat-Number_Number_Number_Number_Number_Number_Number_Number}{tr:id=name}{td}h6.createPageFormat{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}createPageFormat{span}{span}\(width, height, leftmargin, rightmargin, topmargin, bottommargin, orientation, units){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div: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.
\{[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
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.getForm("someForm");
form.defaultPageFormat = solutionModel.createPageFormat(612,792,72,72,72,72,SM_ORIENTATION.PORTRAIT,SM_UNITS.PIXELS);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createRoundedBorder-Number_Number_Number_Number_String_String_String_String_NumberArray_StringArray}{tr:id=name}{td}h6.createRoundedBorder{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}createRoundedBorder{span}{span}\(top_width, right_width, bottom_width, left_width, top_color, right_color, bottom_color, left_color, rounding_radius, border_style){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div: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]} 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)
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.getForm("someForm");
// create a rectangle border (no rounded corners) and continous line
form.borderType = solutionModel.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}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createSpecialMatteBorder-Number_Number_Number_Number_String_String_String_String_Number_NumberArray}{tr:id=name}{td}h6.createSpecialMatteBorder{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}createSpecialMatteBorder{span}{span}\(top_width, right_width, bottom_width, left_width, top_color, right_color, bottom_color, left_color, rounding_radius, dash_pattern){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div: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]} 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
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.getForm("someForm");
// create a rectangle border (no rounded corners) and continous line
form.borderType = solutionModel.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}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createTitledBorder-String_String_String_Number_Number}{tr:id=name}{td}h6.createTitledBorder{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}createTitledBorder{span}{span}\(title_text, font, color, title_justification, title_position){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} title_text -- the text from border
\{[String]} font -- title text font string
\{[String]} color -- border color
\{[Number]} title_justification -- title text justification
\{[Number]} title_position -- bevel title text position
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.getForm("someForm");
form.borderType = solutionModel.createTitledBorder('Test',solutionModel.createFont('Arial',SM_FONTSTYLE.PLAIN,10),'#ff0000',SM_TITLEJUSTIFICATION.CENTER,SM_TITLEPOSITION.TOP);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getDataSourceNode-String}{tr:id=name}{td}h6.getDataSourceNode{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSDataSourceNode]{span}{span:style=font-weight: bold;}getDataSourceNode{span}{span}\(dataSource){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} dataSource -- table data source
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSDataSourceNode] -- a JSDataSourceNode{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var dsnode = solutionModel.getDataSourceNode('db:/example_data/customers');
var c = dsnode.getCalculation("myCalculation");
application.output("Name: " + c.getName() + ", Stored: " + c.isStored());
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getForm-String}{tr:id=name}{td}h6.getForm{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSForm]{span}{span:style=font-weight: bold;}getForm{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the form
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSForm] -- a JSForm{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var myForm = solutionModel.getForm('existingFormName');
//get the style of the form (for all other properties see JSForm node)
var styleName = myForm.styleName;
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getForms}{tr:id=name}{td}h6.getForms{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSForm]\[]{span}{span:style=font-weight: bold;}getForms{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSForm]\[] -- an array of JSForm type elements{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var forms = solutionModel.getForms()
for (var i in forms)
application.output(forms[i].name)
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getForms-String}{tr:id=name}{td}h6.getForms{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSForm]\[]{span}{span:style=font-weight: bold;}getForms{span}{span}\(datasource){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} datasource -- the datasource or servername
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSForm]\[] -- an array of JSForm type elements{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var forms = solutionModel.getForms(datasource)
for (var i in forms)
application.output(forms[i].name)
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getForms-String_String}{tr:id=name}{td}h6.getForms{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSForm]\[]{span}{span:style=font-weight: bold;}getForms{span}{span}\(server, tablename){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} server -- the datasource or servername
\{[String]} tablename -- the tablename
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSForm]\[] -- an array of JSForm type elements{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var forms = solutionModel.getForms(datasource,tablename)
for (var i in forms)
application.output(forms[i].name)
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getGlobalMethod-String_String}{tr:id=name}{td}h6.getGlobalMethod{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSMethod]{span}{span:style=font-weight: bold;}getGlobalMethod{span}{span}\(scopeName, name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} scopeName -- the scope in which the method is searched
\{[String]} name -- the name of the specified global method
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSMethod] -- a JSMethod{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var method = solutionModel.getGlobalMethod('globals', 'nameOfGlobalMethod');
if (method != null) application.output(method.code);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getGlobalMethods}{tr:id=name}{td}h6.getGlobalMethods{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSMethod]\[]{span}{span:style=font-weight: bold;}getGlobalMethods{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSMethod]\[] -- an array of JSMethod type elements{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var methods = solutionModel.getGlobalMethods('globals');
for (var x in methods)
application.output(methods[x].getName());
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getGlobalMethods-String}{tr:id=name}{td}h6.getGlobalMethods{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSMethod]\[]{span}{span:style=font-weight: bold;}getGlobalMethods{span}{span}\(scopeName){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} scopeName -- limit to global methods of specified scope name
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSMethod]\[] -- an array of JSMethod type elements{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var methods = solutionModel.getGlobalMethods('globals');
for (var x in methods)
application.output(methods[x].getName());
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getGlobalVariable-String_String}{tr:id=name}{td}h6.getGlobalVariable{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSVariable]{span}{span:style=font-weight: bold;}getGlobalVariable{span}{span}\(scopeName, name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} scopeName -- the scope in which the variable is searched
\{[String]} name -- the specified name of the global variable
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSVariable] -- a JSVariable{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var globalVariable = solutionModel.getGlobalVariable('globals', 'globalVariableName');
application.output(globalVariable.name + " has the default value of " + globalVariable.defaultValue);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getGlobalVariables}{tr:id=name}{td}h6.getGlobalVariables{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSVariable]\[]{span}{span:style=font-weight: bold;}getGlobalVariables{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSVariable]\[] -- an array of JSVariable type elements{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var globalVariables = solutionModel.getGlobalVariables('globals');
for (var i in globalVariables)
application.output(globalVariables[i].name + " has the default value of " + globalVariables[i].defaultValue);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getGlobalVariables-String}{tr:id=name}{td}h6.getGlobalVariables{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSVariable]\[]{span}{span:style=font-weight: bold;}getGlobalVariables{span}{span}\(scopeName){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} scopeName -- limit to global vars of specified scope name
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSVariable]\[] -- an array of JSVariable type elements{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var globalVariables = solutionModel.getGlobalVariables('globals');
for (var i in globalVariables)
application.output(globalVariables[i].name + " has the default value of " + globalVariables[i].defaultValue);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getMedia-String}{tr:id=name}{td}h6.getMedia{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSMedia]{span}{span:style=font-weight: bold;}getMedia{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the media object
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSMedia] -- a JSMedia element{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var myMedia = solutionModel.getMedia('button01.gif')
//now set the imageMedia property of your label or button
//myButton.imageMedia = myMedia
// OR
//myLabel.imageMedia = myMedia
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getMediaList}{tr:id=name}{td}h6.getMediaList{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSMedia]\[]{span}{span:style=font-weight: bold;}getMediaList{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSMedia]\[] -- a list with all the media objects.{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var mediaList = solutionModel.getMediaList();
if (mediaList.length != 0 && mediaList != null) {
for (var x in mediaList) {
application.output(mediaList[x]);
}
}
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getRelation-String}{tr:id=name}{td}h6.getRelation{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSRelation]{span}{span:style=font-weight: bold;}getRelation{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the relation
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSRelation] -- a JSRelation{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var relation = solutionModel.getRelation('name');
application.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}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getRelations-String}{tr:id=name}{td}h6.getRelations{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSRelation]\[]{span}{span:style=font-weight: bold;}getRelations{span}{span}\(datasource){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} datasource -- the specified name of the datasource for the specified table
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSRelation]\[] -- an array of all relations (all elements in the array are of type JSRelation){div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var relations = solutionModel.getRelations('server_name','table_name');
if (relations.length != 0)
for (var i in relations)
application.output(relations[i].name);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getRelations-String_String}{tr:id=name}{td}h6.getRelations{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSRelation]\[]{span}{span:style=font-weight: bold;}getRelations{span}{span}\(servername, tablename){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} servername -- the specified name of the server for the specified table
\{[String]} tablename -- the specified name of the table
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSRelation]\[] -- an array of all relations (all elements in the array are of type JSRelation){div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var relations = solutionModel.getRelations('server_name','table_name');
if (relations.length != 0)
for (var i in relations)
application.output(relations[i].name);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getScopeNames}{tr:id=name}{td}h6.getScopeNames{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]\[]{span}{span:style=font-weight: bold;}getScopeNames{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]\[] -- an array of String scope names{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var scopeNames = solutionModel.getScopeNames();
for (var name in scopeNames)
application.output(name);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getStyle-String}{tr:id=name}{td}h6.getStyle{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSStyle]{span}{span:style=font-weight: bold;}getStyle{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the style
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSStyle] -- a JSStyle{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var style = solutionModel.getStyle('my_existing_style')
style.content = 'combobox { color: #0000ff;font: italic 10pt "Verdana";}'
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getValueList-String}{tr:id=name}{td}h6.getValueList{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSValueList]{span}{span:style=font-weight: bold;}getValueList{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the valuelist
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSValueList] -- a JSValueList object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var myValueList = solutionModel.getValueList('myValueListHere')
//now set the valueList property of your field
//myField.valuelist = myValueList
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getValueLists}{tr:id=name}{td}h6.getValueLists{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSValueList]\[]{span}{span:style=font-weight: bold;}getValueLists{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSValueList]\[] -- an array of JSValueList objects{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var valueLists = solutionModel.getValueLists();
if (valueLists != null && valueLists.length != 0)
for (var i in valueLists)
application.output(valueLists[i].name);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newForm-String_JSForm}{tr:id=name}{td}h6.newForm{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSForm]{span}{span:style=font-weight: bold;}newForm{span}{span}\(name, superForm){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- The name of the new form
\{[JSForm]} superForm -- the super form that will extended from, see JSform.setExtendsForm();
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSForm] -- a new JSForm object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
//creates 2 forms with elements on them; shows the parent form, waits 2 seconds and shows the child form
var mySuperForm = solutionModel.newForm('mySuperForm', 'db:/my_server/my_table', null, false, 800, 600);
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();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newForm-String_String_String_Boolean_Number_Number}{tr:id=name}{td}h6.newForm{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSForm]{span}{span:style=font-weight: bold;}newForm{span}{span}\(name, dataSource, styleName, show_in_menu, width, height){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div: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
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSForm] -- a new JSForm object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var myForm = solutionModel.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}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newForm-String_String_String_String_Boolean_Number_Number}{tr:id=name}{td}h6.newForm{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSForm]{span}{span:style=font-weight: bold;}newForm{span}{span}\(name, serverName, tableName, styleName, show_in_menu, width, height){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div: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 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
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSForm] -- a new JSForm object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var myForm = solutionModel.newForm('newForm', 'my_server', 'my_table', 'myStyleName', false, 800, 600)
//With only a datasource:
//var myForm = solutionModel.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}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newGlobalMethod-String_String}{tr:id=name}{td}h6.newGlobalMethod{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSMethod]{span}{span:style=font-weight: bold;}newGlobalMethod{span}{span}\(scopeName, code){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} scopeName -- the scope in which the method is created
\{[String]} code -- the specified code for the global method
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSMethod] -- a JSMethod object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var method = solutionModel.newGlobalMethod('globals', 'function myglobalmethod(){foundset.newRecord()}')
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newGlobalVariable-String_String_Number}{tr:id=name}{td}h6.newGlobalVariable{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSVariable]{span}{span:style=font-weight: bold;}newGlobalVariable{span}{span}\(scopeName, name, type){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} scopeName -- the scope in which the variable is created
\{[String]} name -- the specified name for the global variable
\{[Number]} type -- the specified number type for the global variable
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSVariable] -- a JSVariable object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var myGlobalVariable = solutionModel.newGlobalVariable('globals', 'newGlobalVariable', JSVariable.INTEGER);
myGlobalVariable.defaultValue = 12;
//myGlobalVariable.defaultValue = "{a:'First letter',b:'Second letter'}" // an js object, type must be media.
//myGlobalVariable.defaultValue = '"some text"'; // Use two pairs of quotes if you want to assign a String as default value.
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newMedia-String_byteArray}{tr:id=name}{td}h6.newMedia{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSMedia]{span}{span:style=font-weight: bold;}newMedia{span}{span}\(name, bytes){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- The name of the new media
\{byte[]} bytes -- The content
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSMedia] -- a JSMedia object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{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 = myMedia
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newRelation-String_String_String_Number}{tr:id=name}{td}h6.newRelation{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSRelation]{span}{span:style=font-weight: bold;}newRelation{span}{span}\(name, primaryDataSource, foreignDataSource, joinType){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the new relation
\{[String]} primaryDataSource -- the specified name of the primary datasource
\{[String]} foreignDataSource -- the specified name of the foreign datasource
\{[Number]} joinType -- the type of join for the new relation; JSRelation.INNER\_JOIN, JSRelation.LEFT\_OUTER\_JOIN
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSRelation] -- a JSRelation object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var rel = solutionModel.newRelation('myRelation', myPrimaryDataSource, myForeignDataSource, JSRelation.INNER_JOIN);
application.output(rel.getRelationItems());
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newStyle-String_String}{tr:id=name}{td}h6.newStyle{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSStyle]{span}{span:style=font-weight: bold;}newStyle{span}{span}\(name, content){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the name of the new style
\{[String]} content -- the css content of the new style
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSStyle] -- a JSStyle object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('myForm','db:/my_server/my_table',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();
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=newValueList-String_Number}{tr:id=name}{td}h6.newValueList{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSValueList]{span}{span:style=font-weight: bold;}newValueList{span}{span}\(name, type){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name for the valuelist
\{[Number]} type -- the specified number type for the valuelist; may be JSValueList.CUSTOM\_VALUES, JSValueList.DATABASE\_VALUES, JSValueList.EMPTY\_VALUE\_ALWAYS, JSValueList.EMPTY\_VALUE\_NEVER
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSValueList] -- a JSValueList object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var vl1 = 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 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}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeForm-String}{tr:id=name}{td}h6.removeForm{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}removeForm{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the form to remove
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean] -- true is form has been removed, false if form could not be removed{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{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}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeGlobalMethod-String_String}{tr:id=name}{td}h6.removeGlobalMethod{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}removeGlobalMethod{span}{span}\(scopeName, name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} scopeName -- the scope in which the method is declared
\{[String]} name -- the name of the global method to be removed
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean] -- true if the removal was successful, false otherwise{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{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('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}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeGlobalVariable-String_String}{tr:id=name}{td}h6.removeGlobalVariable{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}removeGlobalVariable{span}{span}\(scopeName, name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} scopeName -- the scope in which the variable is declared
\{[String]} name -- the name of the global variable to be removed
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean] -- true if the removal was successful, false otherwise{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var v1 = solutionModel.newGlobalVariable('globals', 'globalVar1', JSVariable.INTEGER);
var v2 = solutionModel.newGlobalVariable('globals', 'globalVar2', JSVariable.TEXT);
var success = solutionModel.removeGlobalVariable('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}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeMedia-String}{tr:id=name}{td}h6.removeMedia{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}removeMedia{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the name of the media item to be removed
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean] -- true if the removal was successful, false otherwise{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{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",databaseManager.getDataSource('example_data', 'orders'),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}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeRelation-String}{tr:id=name}{td}h6.removeRelation{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}removeRelation{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the name of the relation to be removed
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean] -- true if the removal was successful, false otherwise{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{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}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeStyle-String}{tr:id=name}{td}h6.removeStyle{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}removeStyle{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the name of the style to be removed
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean] -- true if the removal was successful, false otherwise{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{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}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=removeValueList-String}{tr:id=name}{td}h6.removeValueList{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}removeValueList{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- name of the valuelist to be removed
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean] -- true if the removal was successful, false otherwise{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{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}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=revertForm-String}{tr:id=name}{td}h6.revertForm{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSForm]{span}{span:style=font-weight: bold;}revertForm{span}{span}\(name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} name -- the specified name of the form to revert
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSForm] -- a JSForm object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{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}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=wrapMethodWithArguments-JSMethod_ObjectArray}{tr:id=name}{td}h6.wrapMethodWithArguments{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSMethod]{span}{span:style=font-weight: bold;}wrapMethodWithArguments{span}{span}\(method, args){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[JSMethod]} method -- JSMethod to be assigned to an event
\{[Object]...} args -- positional arguments
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSMethod] -- a JSMethod{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{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}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}
Cache
index
true
refresh
100d
showRefresh
true
id
doc
title
Refresh page
showDate
true
retry
Enable
servoy sReturnTypes2100%height: 30px;2Return TypessWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKsWordListBLOCKservoy sReturnTypes2100%height: 30px;2Supported ClientssWordListSmartClientsWordListWebClientsWordListNGClientsWordListMobileClientservoy sSummary12%30%58%height: 30px;3Methods SummaryMakes an exact copy of the given component (JSComponent/JSField/JSLabel) and gives it a new name.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.Makes an exact copy of the given form and gives it the new name.Create a bevel border string.Create an empty border string.Create an etched border string.Create a font string.Create a line border string.Create a matte border string.Create a page format string.Create a page format string.Create a page format string.Create a special matte border string.Create a special matte border string.Create a titled border string.Gets an array of all relations.Gets the specified data source node and returns information about the form (see JSDataSourceNode node).Gets the specified form object and returns information about the form (see JSForm node).Get an array of all forms.Get an array of forms, that are all based on datasource/servername.Get an array of forms, that are all based on datasource/servername and tablename.Gets an existing global method by the specified name.The list of all global methods.The list of all global methods.Gets an existing global variable by the specified name.Gets an array of all global variables.Gets an array of all global variables.Gets the specified media object; can be assigned to a button/label.Gets the list of all media objects.Retrieves an element by its uuid.Gets an existing relation by the specified name and returns a JSRelation Object.Gets an array of all relations; or an array of all global relations if the specified table is NULL.Gets an array of all relations; or an array of all global relations if the specified table is NULL.Gets an array of all scope names used.Gets the style specified by the given name.Gets an existing valuelist by the specified name and returns a JSValueList Object that can be assigned to a field.Gets an array of all valuelists for the currently active solution.Creates a new JSForm Object.Create a responsive form:Creates a new form with the given JSForm as its super form.Creates a new form with the given JSForm as its super form.Create a responsive form:Creates a new JSForm Object.Creates a new JSForm Object.Creates a new global method with the specified code in a scope.Creates a new global variable with the specified name and number type.Creates a new media object that can be assigned to a label or a button.Creates a new media object for things like a CSS or LESS file that can be set as the clients solution style.Creates a new JSRelation Object with a specified name; includes the primary datasource, foreign datasource and the type of join for the new relation.Creates a new style with the given css content string under the given name.Creates a new valuelist with the specified name and number type.Removes the specified form during the persistent connected client session.Removes the specified global method.Removes the specified global variable.Removes the media item specified by name.Removes the relation specified by name.Removes the specified style.Removes the specified valuelist.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.Get a JSMethod instance with arguments to be assigned to an event.functionservoy sDetail2100%height:30px2Methods DetailscloneComponentname
cloneComponent(newName, component)
dessIndent
Makes an exact copy of the given component (JSComponent/JSField/JSLabel) and gives it a new name.
prs
Parameters
sIndentnewNamethe new name of the cloned componentcomponentthe component to cloneret
Returns
sIndent the exact copy of the given componentclients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRowcloneComponentname
cloneComponent(newName, component, newParentForm)
dessIndent
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.
prs
Parameters
sIndentnewNamethe new name of the cloned componentcomponentthe component to clonenewParentFormthe new parent formret
Returns
sIndent the exact copy of the given componentclients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRowcloneFormname
cloneForm(newName, jsForm)
dessIndent
Makes an exact copy of the given form and gives it the new name.
prs
Parameters
sIndentnewNamethe new name for the form clonejsFormthe form to be clonedret
sIndenttop_widthtop width of empty border in pixelsright_widthright width of empty border in pixelsbottom_widthbottom width of empty border in pixelsleft_widthleft width of empty border in pixelsret
sIndenttop_widthtop width of matte border in pixelsright_widthright width of matte border in pixelsbottom_widthbottom width of matte border in pixelsleft_widthleft width of matte border in pixelscolorborder colorret
Create a page format string.
Note: The unit specified for width, height and all margins MUST be the same.
prs
Parameters
sIndentwidththe specified width of the page to be printed.heightthe specified height of the page to be printed.leftmarginthe specified left margin of the page to be printed.rightmarginthe specified right margin of the page to be printed.topmarginthe specified top margin of the page to be printed.bottommarginthe specified bottom margin of the page to be printed.ret
Create a page format string.
Note: The unit specified for width, height and all margins MUST be the same.
prs
Parameters
sIndentwidththe specified width of the page to be printed.heightthe specified height of the page to be printed.leftmarginthe specified left margin of the page to be printed.rightmarginthe specified right margin of the page to be printed.topmarginthe specified top margin of the page to be printed.bottommarginthe specified bottom margin of the page to be printed.orientationthe specified orientation of the page to be printed; the default is Portrait moderet
Create a page format string.
Note: The unit specified for width, height and all margins MUST be the same.
prs
Parameters
sIndentwidththe specified width of the page to be printed.heightthe specified height of the page to be printed.leftmarginthe specified left margin of the page to be printed.rightmarginthe specified right margin of the page to be printed.topmarginthe specified top margin of the page to be printed.bottommarginthe specified bottom margin of the page to be printed.orientationthe specified orientation of the page to be printed; the default is Portrait modeunitsthe specified units for the width and height of the page to be printed; the default is pixelsret
sIndenttop_widthtop width of matte border in pixelsright_widthright width of matte border in pixelsbottom_widthbottom width of matte border in pixelsleft_widthleft width of matte border in pixelstop_colortop border colorright_colorright border colorbottom_colorbottom border colorleft_colorleft border colorrounding_radiusarray with width/height of the arc to round the cornersborder_stylethe border styles for the four margins(top/left/bottom/left)ret
sIndenttop_widthtop width of matte border in pixelsright_widthright width of matte border in pixelsbottom_widthbottom width of matte border in pixelsleft_widthleft width of matte border in pixelstop_colortop border colorright_colorright border colorbottom_colorbottom border colorleft_colorleft border colorrounding_radiuswidth of the arc to round the cornersdash_patternthe dash pattern of border strokeret
sIndenttitle_textthe text from borderfonttitle text font stringcolorborder colortitle_justificationtitle text justificationtitle_positionbevel title text positionret
Returns
sIndentclients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRowgetAllRelationsname
getAllRelations()
dessIndent
Gets an array of all relations.
ret
Returns
sIndent an array of all relations (all elements in the array are of type JSRelation)clients
Gets the specified data source node and returns information about the form (see JSDataSourceNode node).
The JSDataSourceNode holds all calculations and foundset methods.
prs
Parameters
sIndentdataSourcetable data sourceret
Returns
sIndent a JSDataSourceNodeclients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRowgetFormname
getForm(name)
dessIndent
Gets the specified form object and returns information about the form (see JSForm node).
Gets an existing valuelist by the specified name and returns a JSValueList Object that can be assigned to a field.
NOTE: Changes to valuelist should be done before showing any form that has component using the valuelist.
Gets an array of all valuelists for the currently active solution.
NOTE: Changes to valuelist should be done before showing any form that has component using the valuelist.
sIndentnameThe name of the new formisResponsiveif true will create an responsive form, otherwise an absolute layout formret
Returns
sIndent a new JSForm objectclients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRownewFormname
newForm(name, superForm)
dessIndent
Creates a new form with the given JSForm as its super form.
prs
Parameters
sIndentnameThe name of the new formsuperFormthe super form that will extended from, see JSform.setExtendsForm();ret
Returns
sIndent a new JSForm objectclients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRownewFormname
newForm(name, superForm, isResponsive)
dessIndent
Creates a new form with the given JSForm as its super form.
Use this function in the case when the super form is a logical form (no parts/UI).
prs
Parameters
sIndentnameThe name of the new formsuperFormthe super form that will extended from, see JSform.setExtendsForm();isResponsive ;ret
Returns
sIndent a new JSForm objectclients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRownewFormname
newForm(name, dataSource, isResponsive)
dessIndent
Create a responsive form:
prs
Parameters
sIndentnameThe name of the new formdataSourcethe form datasourceisResponsiveif true will create an responsive form, otherwise an absolute layout formret
Creates a new JSForm Object.
NOTE: See the JSForm node for more information about form objects that can be added to the new form.
prs
Parameters
sIndentnamethe specified name of the formdataSourcethe specified name of the datasource for the specified tablestyleNamethe specified styleshow_in_menuif true show the name of the new form in the menu; or false for not showingwidththe width of the form in pixelsheightthe height of the form in pixelsret
Creates a new JSForm Object.
NOTE: See the JSForm node for more information about form objects that can be added to the new form.
prs
Parameters
sIndentnamethe specified name of the formserverNamethe specified name of the server for the specified tabletableNamethe specified name of the tablestyleNamethe specified styleshow_in_menuif true show the name of the new form in the menu; or false for not showingwidththe width of the form in pixelsheightthe height of the form in pixelsret
Returns
sIndent a new JSForm objectclients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRownewGlobalMethodname
newGlobalMethod(scopeName, code)
dessIndent
Creates a new global method with the specified code in a scope.
prs
Parameters
sIndentscopeNamethe scope in which the method is createdcodethe specified code for the global methodret
Creates a new global variable with the specified name and number type.
NOTE: The global variable number type is based on the value assigned from the SolutionModel-JSVariable node; for example: JSVariable.INTEGER.
prs
Parameters
sIndentscopeNamethe scope in which the variable is creatednamethe specified name for the global variabletypethe specified number type for the global variableret
Creates a new media object that can be assigned to a label or a button.
prs
Parameters
sIndentnameThe name of the new mediabytesThe contentret
Returns
sIndent a JSMedia objectclients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRownewMedianame
newMedia(name, bytes)
dessIndent
Creates a new media object for things like a CSS or LESS file that can be set as the clients solution style.
The stringContents is converted to bytes through the UTF-8 charset.
prs
Parameters
sIndentnameThe name of the new mediabytesThe contentret
Creates a new JSRelation Object with a specified name; includes the primary datasource, foreign datasource and the type of join for the new relation.
prs
Parameters
sIndentnamethe specified name of the new relationprimaryDataSourcethe specified name of the primary datasourceforeignDataSourcethe specified name of the foreign datasourcejoinTypethe type of join for the new relation; JSRelation.INNER_JOIN, JSRelation.LEFT_OUTER_JOINret
Returns
sIndent a JSRelation objectclients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRownewStylename
newStyle(name, content)
dessIndent
Creates a new style with the given css content string under the given name.
NOTE: Will throw an exception if a style with that name already exists.
prs
Parameters
sIndentnamethe name of the new stylecontentthe css content of the new styleret
Returns
sIndent a JSStyle objectclients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRownewValueListname
newValueList(name, type)
dessIndent
Creates a new valuelist with the specified name and number type.
prs
Parameters
sIndentnamethe specified name for the valuelisttypethe specified number type for the valuelist; may be JSValueList.CUSTOM_VALUES, JSValueList.DATABASE_VALUES, JSValueList.EMPTY_VALUE_ALWAYS, JSValueList.EMPTY_VALUE_NEVERret
Removes the specified form during the persistent connected client session.
NOTE: Make sure you call history.remove first in your Servoy method (script).
prs
Parameters
sIndentnamethe specified name of the form to removeret
Returns
sIndent true is form has been removed, false if form could not be removedclients
sIndentnamethe name of the media item to be removedret
Returns
sIndent true if the removal was successful, false otherwiseclients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRowremoveRelationname
removeRelation(name)
dessIndent
Removes the relation specified by name. You cannot remove the relation if it is touched within the application.
So even if you remove all the ui elements using it, like tabs, it still can't be removed, because of underlying created and cached data.
prs
Parameters
sIndentnamethe name of the relation to be removedret
Returns
sIndent true if the removal was successful, false otherwiseclients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRowremoveStylename
removeStyle(name)
dessIndent
Removes the specified style.
prs
Parameters
sIndentnamethe name of the style to be removedret
Returns
sIndent true if the removal was successful, false otherwiseclients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRowremoveValueListname
removeValueList(name)
dessIndent
Removes the specified valuelist.
prs
Parameters
sIndentnamename of the valuelist to be removedret
Returns
sIndent true if the removal was successful, false otherwiseclients
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.
prs
Parameters
sIndentnamethe specified name of the form to revertret