Return Types
{column:padding=0px|width=80px}{column}{column}{column}
Method Summary
cloneComponent(newName, component)
Makes an exact copy of the given component (JSComponent/JSField/JSLabel) and gives it a new name.
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.
createBevelBorder(bevel_type, highlight_outer_color, highlight_inner_color, shadow_outer_color, shadow_inner_color)
Create a bevel border string.
createEmptyBorder(top_width, right_width, bottom_width, left_width)
Create an empty border string.
createEtchedBorder(bevel_type, highlight_color, shadow_color)
Create an etched border string.
createFont(name, style, size)
Create a font string.
createLineBorder(thick, color)
Create a line border string.
createMatteBorder(top_width, right_width, bottom_width, left_width, color)
Create a matte border string.
createPageFormat(width, height, leftmargin, rightmargin, topmargin, bottommargin, [orientation], [units])
Create a page format string.
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.
createTitledBorder(title_text, font, color, title_justification, title_position)
Create a titled border string.
getCalculation(name, datasource)
Get an existing calculation for the given name and datasource.
getCalculations(datasource)
Gets all the calculations for the given datasource.
getGlobalMethod(name)
Gets an existing global method by the specified name.
JSMethod[]
getGlobalMethods()
The list of all global methods.
getGlobalVariable(name)
Gets an existing global variable by the specified name.
getGlobalVariables()
Gets an array of all global variables.
JSMedia[]
getMediaList()
Gets the list of all media objects.
getRelation(name)
Gets an existing relation by the specified name and returns a JSRelation Object.
getRelations([primary_server_name/primary_data_source], [primary_table_name])
Gets an array of all relations; or an array of all global relations if the specified table is NULL.
getValueList(name)
Gets an existing valuelist by the specified name and returns a JSValueList Object that can be assigned to a field.
getValueLists()
Gets an array of all valuelists for the currently active solution.
newCalculation(code, type, datasource)
Creates a new calculation for the given code and the type, if it builds on a column (name is a column name) then type will be ignored.
newCalculation(code, datasource)
Creates a new calculation for the given code, the type will be the column where it could be build on (if name is a column name),
else it will default to JSVariable.
newGlobalMethod(code)
Creates a new global method with the specified code.
newGlobalVariable(name, type)
Creates a new global variable with the specified name and number type.
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.
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.
newValueList(name, type)
Creates a new valuelist with the specified name and number type.
removeCalculation(name, datasource)
Removes the calculation specified by name and datasource.
removeForm(name)
Removes the specified form during the persistent connected client session.
removeGlobalMethod(name)
Removes the specified global method.
removeGlobalVariable(name)
Removes the specified global variable.
removeMedia(name)
Removes the media item specified by name.
removeRelation(name)
Removes the relation specified by name.
removeStyle(name)
Removes the specified style.
removeValueList(name)
Removes the specified valuelist.
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.
wrapMethodWithArguments(method, args)
Get a JSMethod instance with arguments to be assigned to an event.
{column:padding=0px|width=100%}{column}
Method Details
cloneComponent
(newName, component)
Makes an exact copy of the given component (JSComponent/JSField/JSLabel) and gives it a new name.
Since
Replace with version info
Parameters\\\{String} newName – the new name of the cloned component
{JSComponent} component – the component to clone
Returns
[JSComponent] – the exact copy of the given component
Also see
External links
Sample
// 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);
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.
Since
Replace with version info
Parameters\\\{String} newName – the new name of the cloned component
{JSComponent} component – the component to clone
{JSForm} newParentForm – the new parent form
Returns
[JSComponent] – the exact copy of the given component
Also see
External links
Sample
// 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();
cloneForm
(newName, jsForm)
Makes an exact copy of the given form and gives it the new name.
Since
Replace with version info
Returns
[JSForm] – a JSForm
Also see
External links
Sample
// 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();
createBevelBorder
(bevel_type, highlight_outer_color, highlight_inner_color, shadow_outer_color, shadow_inner_color)
Create a bevel border string.
Since
Replace with version info
Parameters\\\{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
Returns
[String]
Also see
External links
Sample
var form = solutionModel.getForm("someForm"); form.borderType = solutionModel.createBevelBorder(SM_BEVELTYPE.RAISED,'#ff0000','#00ff00','#ff0000','#00ff00');
createEmptyBorder
(top_width, right_width, bottom_width, left_width)
Create an empty border string.
Since
Replace with version info
Returns
[String]
Also see
External links
Sample
var form = solutionModel.getForm("someForm"); form.borderType = solutionModel.createEmptyBorder(1,1,1,1);
createEtchedBorder
(bevel_type, highlight_color, shadow_color)
Create an etched border string.
Since
Replace with version info
Returns
[String]
Also see
External links
Sample
var form = solutionModel.getForm("someForm"); form.borderType = solutionModel.createEtchedBorder(SM_BEVELTYPE.RAISED,'#ff0000','#00ff00');
createFont
(name, style, size)
Create a font string.
Since
Replace with version info
Returns
[String]
Also see
External links
Sample
var form = solutionModel.getForm("someForm"); var component = form.getComponent("someComponent") component.fontType = solutionModel.createFont('Arial',SM_FONTSTYLE.BOLD,14);
createLineBorder
(thick, color)
Create a line border string.
Since
Replace with version info
Returns
[String]
Also see
External links
Sample
var form = solutionModel.getForm("someForm"); form.borderType = solutionModel.createLineBorder(1,'#ff0000');
createMatteBorder
(top_width, right_width, bottom_width, left_width, color)
Create a matte border string.
Since
Replace with version info
Parameters\\\{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
Returns
[String]
Also see
External links
Sample
var form = solutionModel.getForm("someForm"); form.borderType = solutionModel.createMatteBorder(1,1,1,1,"#00ff00");
createPageFormat
(width, height, leftmargin, rightmargin, topmargin, bottommargin, [orientation], [units])
Create a page format string.
Note: The unit specified for width, height and all margins MUST be the same.
Since
Replace with version info
Parameters
width – the specified width of the page to be printed.
height – the specified height of the page to be printed.
leftmargin – the specified left margin of the page to be printed.
rightmargin – the specified right margin of the page to be printed.
topmargin – the specified top margin of the page to be printed.
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
Returns
[String]
Also see
External links
Sample
var form = solutionModel.getForm("someForm"); form.defaultPageFormat = solutionModel.createPageFormat(612,792,72,72,72,72,SM_ORIENTATION.PORTRAIT,SM_UNITS.PIXELS);
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.
Since
Replace with version info
Parameters\\\{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
Returns
[String]
Also see
External links
Sample
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));
createTitledBorder
(title_text, font, color, title_justification, title_position)
Create a titled border string.
Since
Replace with version info
Returns
[String]
Also see
External links
Sample
var form = solutionModel.getForm("someForm"); form.borderType = solutionModel.createTitledBorder('Test',solutionModel.createFont('Arial',SM_FONTSTYLE.PLAIN,10),'#ff0000',SM_TITLEJUSTIFICATION.CENTER,SM_TITLEPOSITION.TOP);
getCalculation
(name, datasource)
Get an existing calculation for the given name and datasource.
Since
Replace with version info
Returns
[JSCalculation]
Also see
External links
Sample
var calc = 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]); }
getCalculations
(datasource)
Gets all the calculations for the given datasource.
Since
Replace with version info
Parameters\\\{String} datasource – The datasource the calculations belong to.
Returns
[JSCalculation][]
Also see
External links
Sample
var calc = 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]); }
getForm
(name)
Gets the specified form object and returns information about the form (see JSForm node).
Since
Replace with version info
Parameters\\\{String} name – the specified name of the form
Returns
[JSForm] – a JSForm
Also see
External links
Sample
var myForm = solutionModel.getForm('existingFormName'); //get the style of the form (for all other properties see JSForm node) var styleName = myForm.styleName;
JSForm[]
getForms
()
Get an array of all forms.
Since
Replace with version info
Parameters
Returns
[JSForm][] – an array of JSForm type elements
Also see
External links
Sample
var forms = solutionModel.getForms() for (var i in forms) application.output(forms[i].name)
JSForm[]
getForms
(datasource)
Get an array of forms, that are all based on datasource/servername.
Since
Replace with version info
Parameters\\\{String} datasource – the datasource or servername
Returns
[JSForm][] – an array of JSForm type elements
Also see
External links
Sample
var forms = solutionModel.getForms(datasource) for (var i in forms) application.output(forms[i].name)
JSForm[]
getForms
(server, tablename)
Get an array of forms, that are all based on datasource/servername and tablename.
Since
Replace with version info
Returns
[JSForm][] – an array of JSForm type elements
Also see
External links
Sample
var forms = solutionModel.getForms(datasource,tablename) for (var i in forms) application.output(forms[i].name)
getGlobalMethod
(name)
Gets an existing global method by the specified name.
Since
Replace with version info
Parameters\\\{String} name – the name of the specified global method
Returns
[JSMethod] – a JSMethod
Also see
External links
Sample
var method = solutionModel.getGlobalMethod("nameOfGlobalMethod"); if (method != null) application.output(method.code);
JSMethod[]
getGlobalMethods
()
The list of all global methods.
Since
Replace with version info
Parameters
Returns
[JSMethod][] – an array of JSMethod type elements
Also see
External links
Sample
var methods = solutionModel.getGlobalMethods(); if (methods != null) for (var x in methods) application.output(methods[x].getName());
getGlobalVariable
(name)
Gets an existing global variable by the specified name.
Since
Replace with version info
Parameters\\\{String} name – the specified name of the global variable
Returns
[JSVariable] – a JSVariable
Also see
External links
Sample
var globalVariable = solutionModel.getGlobalVariable('globalVariableName'); application.output(globalVariable.name + " has the default value of " + globalVariable.defaultValue);
getGlobalVariables
()
Gets an array of all global variables.
Since
Replace with version info
Parameters
Returns
[JSVariable][] – an array of JSVariable type elements
Also see
External links
Sample
var globalVariables = solutionModel.getGlobalVariables(); for (var i in globalVariables) application.output(globalVariables[i].name + " has the default value of " + globalVariables[i].defaultValue);
getMedia
(name)
Gets the specified media object; can be assigned to a button/label.
Since
Replace with version info
Parameters\\\{String} name – the specified name of the media object
Returns
[JSMedia] – a JSMedia element
Also see
External links
Sample
var myMedia = solutionModel.getMedia('button01.gif') //now set the imageMedia property of your label or button //myButton.imageMedia = myMedia // OR //myLabel.imageMedia = myMedia
JSMedia[]
getMediaList
()
Gets the list of all media objects.
Since
Replace with version info
Parameters
Returns
[JSMedia][] – a list with all the media objects.
Also see
External links
Sample
var mediaList = solutionModel.getMediaList(); if (mediaList.length != 0 && mediaList != null) { for (var x in mediaList) { application.output(mediaList[x]); } }
getRelation
(name)
Gets an existing relation by the specified name and returns a JSRelation Object.
Since
Replace with version info
Parameters\\\{String} name – the specified name of the relation
Returns
[JSRelation] – a JSRelation
Also see
External links
Sample
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());
getRelations
([primary_server_name/primary_data_source], [primary_table_name])
Gets an array of all relations; or an array of all global relations if the specified table is NULL.
Since
Replace with version info
Parameters\\\[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
Returns
[JSRelation][] – an array of all relations (all elements in the array are of type JSRelation)
Also see
External links
Sample
var relations = solutionModel.getRelations('server_name','table_name'); if (relations.length != 0) for (var i in relations) application.output(relations[i].name);
getStyle
(name)
Gets the style specified by the given name.
Since
Replace with version info
Parameters\\\{String} name – the specified name of the style
Returns
[JSStyle] – a JSStyle
Also see
External links
Sample
var style = solutionModel.getStyle('my_existing_style') style.content = 'combobox { color: #0000ff;font: italic 10pt "Verdana";}'
getValueList
(name)
Gets an existing valuelist by the specified name and returns a JSValueList Object that can be assigned to a field.
Since
Replace with version info
Parameters\\\{String} name – the specified name of the valuelist
Returns
[JSValueList] – a JSValueList object
Also see
External links
Sample
var myValueList = solutionModel.getValueList('myValueListHere') //now set the valueList property of your field //myField.valuelist = myValueList
getValueLists
()
Gets an array of all valuelists for the currently active solution.
Since
Replace with version info
Parameters
Returns
[JSValueList][] – an array of JSValueList objects
Also see
External links
Sample
var valueLists = solutionModel.getValueLists(); if (valueLists != null && valueLists.length != 0) for (var i in valueLists) application.output(valueLists[i].name);
newCalculation
(code, type, datasource)
Creates a new calculation for the given code and the type, if it builds on a column (name is a column name) then type will be ignored.
Since
Replace with version info
Returns
[JSCalculation]
Also see
External links
Sample
var calc = 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]); }
newCalculation
(code, datasource)
Creates a new calculation for the given code, the type will be the column where it could be build on (if name is a column name),
else it will default to JSVariable.TEXT;
Since
Replace with version info
Returns
[JSCalculation]
Also see
External links
Sample
var calc = 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]); }
newForm
(name, superForm)
Creates a new form with the given JSForm as its super form.
Since
Replace with version info
Returns
[JSForm] – a new JSForm object
Also see
External links
Sample
//creates 2 forms with elements on them; shows the parent form, waits 2 seconds and shows the child form var mySuperForm = solutionModel.newForm('mySuperForm', 'myServerName', 'myTableName', 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();
newForm
(name, dataSource, styleName, show_in_menu, width, height)
Creates a new JSForm Object.
NOTE: See the JSForm node for more information about form objects that can be added to the new form.
Since
Replace with version info
Parameters\\\{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
Returns
[JSForm] – a new JSForm object
Also see
External links
Sample
var myForm = 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)
newForm
(name, serverName, tableName, styleName, show_in_menu, width, height)
Creates a new JSForm Object.
NOTE: See the JSForm node for more information about form objects that can be added to the new form.
Since
Replace with version info
Parameters\\\{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
Returns
[JSForm] – a new JSForm object
Also see
External links
Sample
var myForm = solutionModel.newForm('newForm', 'myServer', 'myTable', '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)
newGlobalMethod
(code)
Creates a new global method with the specified code.
Since
Replace with version info
Parameters\\\{String} code – the specified code for the global method
Returns
[JSMethod] – a JSMethod object
Also see
External links
Sample
var method = solutionModel.newGlobalMethod('function myglobalmethod(){currentcontroller.newRecord()}')
newGlobalVariable
(name, type)
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.
Since
Replace with version info
Returns
[JSVariable] – a JSVariable object
Also see
External links
Sample
var myGlobalVariable = solutionModel.newGlobalVariable('newGlobalVariable',JSVariable.INTEGER); myGlobalVariable.defaultValue = 12;
newMedia
(name, bytes)
Creates a new media object that can be assigned to a label or a button.
Since
Replace with version info
Parameters\\\{String} name – The name of the new media
{byte[]} bytes – The content
Returns
[JSMedia] – a JSMedia object
Also see
External links
Sample
var myMedia = solutionModel.newMedia('button01.gif',bytes) //now set the imageMedia property of your label or button //myButton.imageMedia = myMedia // OR //myLabel.imageMedia = myMedia
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.
Since
Replace with version info
Parameters\\\{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
Returns
[JSRelation] – a JSRelation object
Also see
External links
Sample
var rel = solutionModel.newRelation('myRelation','myPrimaryDataSource','myForeignDataSource',JSRelation.INNER_JOIN); application.output(rel.getRelationItems());
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.
Since
Replace with version info
Parameters\\\{String} name – the specified name of the new relation
{String} primaryServerName – the 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
Returns
[JSRelation] – a JSRelation object
Also see
External links
Sample
var rel = solutionModel.newRelation('myRelation','myPrimaryServerName','myPrimaryTableName','myForeignServerName','myForeignTableName',JSRelation.INNER_JOIN); application.output(rel.getRelationItems());
newStyle
(name, content)
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.
Since
Replace with version info
Returns
[JSStyle] – a JSStyle object
Also see
External links
Sample
var form = solutionModel.newForm('myForm','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();
newValueList
(name, type)
Creates a new valuelist with the specified name and number type.
Since
Replace with version info
Returns
[JSValueList] – a JSValueList object
Also see
External links
Sample
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("globals.text",10,10,120,20); combo1.valuelist = vl1; var combo2 = form.newComboBox("globals.id",10,60,120,20); combo2.valuelist = vl2;
removeCalculation
(name, datasource)
Removes the calculation specified by name and datasource.
Since
Replace with version info
Returns
[Boolean] – true if the removal was successful, false otherwise
Also see
External links
Sample
var calc1 = solutionModel.newCalculation("function myCalculation1() { return 123; }", JSVariable.INTEGER, "db:/example_data/customers"); 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"); c = solutionModel.getCalculation("myCalculation1", "db:/example_data/customers"); 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]); }
removeForm
(name)
Removes the specified form during the persistent connected client session.
NOTE: Make sure you call history.remove first in your Servoy method (script).
Since
Replace with version info
Parameters\\\{String} name – the specified name of the form to remove
Returns
[Boolean] – true is form has been removed, false if form could not be removed
Also see
External links
Sample
//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') }
removeGlobalMethod
(name)
Removes the specified global method.
Since
Replace with version info
Parameters\\\{String} name – the name of the global method to be removed
Returns
[Boolean] – true if the removal was successful, false otherwise
Also see
External links
Sample
var m1 = solutionModel.newGlobalMethod('function myglobalmethod1(){application.output("Global Method 1");}'); var m2 = solutionModel.newGlobalMethod('function myglobalmethod2(){application.output("Global Method 2");}'); var success = solutionModel.removeGlobalMethod("myglobalmethod1"); if (success == false) application.output("!!! myglobalmethod1 could not be removed !!!"); var list = solutionModel.getGlobalMethods(); for (var i = 0; i < list.length; i++) { application.output(list[i].code); }
removeGlobalVariable
(name)
Removes the specified global variable.
Since
Replace with version info
Parameters\\\{String} name – the name of the global variable to be removed
Returns
[Boolean] – true if the removal was successful, false otherwise
Also see
External links
Sample
var v1 = solutionModel.newGlobalVariable("globalVar1",JSVariable.INTEGER); var v2 = solutionModel.newGlobalVariable("globalVar2",JSVariable.TEXT); var success = solutionModel.removeGlobalVariable("globalVar1"); if (success == false) application.output("!!! globalVar1 could not be removed !!!"); var list = solutionModel.getGlobalVariables(); for (var i = 0; i < list.length; i++) { application.output(list[i].name + "[ " + list[i].variableType + "]: " + list[i].variableType); }
removeMedia
(name)
Removes the media item specified by name.
Since
Replace with version info
Parameters\\\{String} name – the name of the media item to be removed
Returns
[Boolean] – true if the removal was successful, false otherwise
Also see
External links
Sample
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); }
removeRelation
(name)
Removes the relation specified by name.
Since
Replace with version info
Parameters\\\{String} name – the name of the relation to be removed
Returns
[Boolean] – true if the removal was successful, false otherwise
Also see
External links
Sample
var success = solutionModel.removeRelation('myRelation'); if (success) { application.output("Relation has been removed");} else {application.output("Relation could not be removed");}
removeStyle
(name)
Removes the specified style.
Since
Replace with version info
Parameters\\\{String} name – the name of the style to be removed
Returns
[Boolean] – true if the removal was successful, false otherwise
Also see
External links
Sample
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.");
removeValueList
(name)
Removes the specified valuelist.
Since
Replace with version info
Parameters\\\{String} name – name of the valuelist to be removed
Returns
[Boolean] – true if the removal was successful, false otherwise
Also see
External links
Sample
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(""); }
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.
NOTE: Make sure you call history.remove first in your Servoy method (script) or call form.controller.recreateUI() before the script ends.
Since
Replace with version info
Parameters\\\{String} name – the specified name of the form to revert
Returns
[JSForm] – a JSForm object
Also see
External links
Sample
// 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();
wrapMethodWithArguments
(method, args)
Get a JSMethod instance with arguments to be assigned to an event.
Since
Replace with version info
Returns
[JSMethod] – a JSMethod
Also see
External links
Sample
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)