Child pages
  • JSTextArea

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{hiddendiv: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 EXTRACTAUTO CHANGES FROMUPDATE THE PAGECONTENT ANDTHROUGH MERGETHE THEM BACK INTO SERVOY SOURCE{hiddenDOC GENERATOR{div}
{sub-sectiondiv:id=description|text=}{sub-sectiondiv}\\ 

{table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Property Summary{th}{tr}{tbody}{tr}{td}[String]{td}{td}[#dataProviderID]
The dataprovider of the component.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#displayType]
The type of display used by the field.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#enabled]
The enable state of the component, default true.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#format]
The format that should be applied when displaying the data in the component.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#height]
The height in pixels of the component.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#name]
The name of the component.{td}{tr}{tbody}{tbody}{tr}{td}[JSMethod]{td}{td}[#onAction]
The method that is executed when the component is clicked.{td}{tr}{tbody}{tbody}{tr}{td}[JSMethod]{td}{td}[#onDataChange]
Method that is executed when the data in the component is successfully changed.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#placeholderText]
The text that is displayed in field when the field doesn't have a text value.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#styleClass]
The name of the style class that should be applied to this component.{td}{tr}{tbody}{tbody}{tr}{td}[JSValueList]{td}{td}[#valuelist]
The valuelist that is used by this field when displaying data.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#visible]
The visible property of the component, default true.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#width]
The width in pixels of the component.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#x]
The x coordinate of the component on the form.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#y]
The y coordinate of the component on the form.{td}{tr}{tbody}{table}\\ 

{table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{th}{tr}{tbody}{tr}{td}[JSTitle]{td}{td}[#getTitle]\()
Get title label for the field or label.{td}{tr}{tbody}{table}\\ 

{table:id=property|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Property Details{th}{tr}{tbody:id=dataProviderID|class=node}{tr:id=name}{td}h6.dataProviderID{td}{tr}{builder-show:permission=edit}{tr:id=desret}{td}{sub-section:dataProviderID_des|trigger=button|text=}{sub-section}{sub-section:dataProviderID_des|trigger=none|class=sIndent}Replace with description{sub-section*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sncsam}{td}*SinceSample*\\{sub-section:dataProviderID_snc|trigger=button|text=}{sub-section}{sub-section:dataProviderID_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:dataProviderID_prs|trigger=button|text=}{sub-section}{sub-section:dataProviderID_prs|trigger=none|class=sIndent}{sub-sectiondiv:class=sIndent}{code:language=javascript}
// Normally the dataprovider is specified when a component is created.
var field = form.newField('parent_table_text', JSField.TEXT_FIELD, 10, 40, 100, 20);
// But it can be modified later if needed.
field.dataProviderID = 'parent_table_id';
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{builder-showtbody}{trtbody:id=retdisplayType}{td}*Returns*\\{sub-section:dataProviderID_ret|trigger=button|text=}{sub-section}{sub-section:dataProviderID_ret|trigger=none|tr:id=name}{td}h6.displayType{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[StringNumber]{sub-sectiondiv}{td}{tr}{builder-show:permission=edit}{tr:id=seesam}{td}*Also seeSample*\\{sub-section:dataProviderID_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:dataProviderID_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:dataProviderID_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:dataProviderID_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:dataProviderID_sam|trigger=button|text=}{sub-section}div:class=sIndent}{code:language=javascript}
// The display type is specified when the field is created.
var cal = form.newField('my_table_date', JSField.CALENDAR, 10, 10, 100, 20);
// But it can be changed if needed.
cal.dataProviderID = 'my_table_text';
cal.displayType = JSField.TEXT_FIELD;
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=enabled}{tr:id=name}{td}h6.enabled{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{sub-section:dataProviderID_sam|trigger=none}{code:language=javascript}
//var Normallyform the dataprovider is specified when a component is created.= solutionModel.newForm('printForm', 'db:/example_data/parent_table', null, false, 400, 300);
var field = form.newField('parent_table_text', JSField.TEXT_FIELD, 10, 4010, 100, 20);
// But it
can be modified later if needed.
field.dataProviderIDenabled = 'parent_table_id'false;
{code}{sub-section}{divdiv}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=displayType|class=nodeformat}{tr:id=name}{td}h6.displayTypeformat{td}{tr}{builder-show:permission=edit}{tr:id=desret}{td}{sub-section:displayType_des|trigger=button|text=}{sub-section}{sub-section:displayType_des|trigger=none|*Returns*\\{div:class=sIndent}Replace with description{sub-section[String]{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sncsam}{td}*SinceSample*\\{sub-section:displayType_snc|trigger=button|text=}{sub-section}{sub-section:displayType_snc|trigger=none|class=sIndent} Replace with version info{sub-sectiondiv:class=sIndent}{code:language=javascript}
var field = form.newField('my_table_number', JSField.TEXT_FIELD, 10, 10, 100, 20);
field.format = '$#.00';
{code}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prstr:class=lastDetailRow}{td}{td}*Parameters*\\{sub-section:displayType_prs|trigger=button|text=}{sub-section}{sub-section:displayType_prs|trigger=none|class=sIndent}{sub-section}{tr}{tbody}{tbody:id=height}{tr:id=name}{td}h6.height{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:displayType_ret|trigger=button|text=}{sub-section}{sub-section:displayType_ret|trigger=none|class=sIndent}[Number]{sub-sectiondiv:class=sIndent}[Number]{div}{td}{tr}{builder-show:permission=edit}{tr:id=seesam}{td}*Also seeSample*\\{sub-section:displayType_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:displayType_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:displayType_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:displayType_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:displayType_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:displayType_sam|trigger=none}{code:language=javascript}
// The display type is specified when the field is created.
var cal = form.newField('my_table_date', JSField.CALENDARcode:language=javascript}
var field = form.newField('parent_table_text', JSField.TEXT_FIELD, 10, 10, 100, 20);
application.output('original width: ' + field.width);
application.output('original height: ' + field.height);
field.width = 200;
field.height = 100;
application.output('modified width: ' + field.width);
application.output('modified height: ' + field.height);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=name}{tr:id=name}{td}h6.name{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('someForm', 'db:/example_data/parent_table', null, false, 620, 300);
var label = form.newLabel('Label', 10, 10, 100150, 20150);
label.name = 'myLabel'; // ButGive ita canname beto changedthe if neededcomponent.
cal.dataProviderID = 'my_table_text';
cal.displayType = JSField.TEXT_FIELDforms['someForm'].controller.show()
// Now use the name to access the component.
forms['someForm'].elements['myLabel'].text = 'Updated text';
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=enabled|class=nodeonAction}{tr:id=name}{td}h6.enabledonAction{td}{tr}{builder-show:permission=edit}{tr:id=desret}{td}{sub-section:enabled_des|trigger=button|text=}{sub-section}{sub-section:enabled_des|trigger=none|class=sIndent}Replace with description{sub-section*Returns*\\{div:class=sIndent}[JSMethod]{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sncsam}{td}*SinceSample*\\{sub-section:enabled_snc|trigger=button|text=}{sub-section}{sub-section:enabled_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:enabled_prs|trigger=button|text=}{sub-section}{sub-section:enabled_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:enabled_ret|trigger=button|text=}{sub-section}{sub-section:enabled_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:enabled_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:enabled_see|trigger=none}{sub-section}{div:class=sIndent}{code:language=javascript}
var doNothingMethod = form.newMethod('function doNothing() { application.output("Doing nothing."); }');
var onClickMethod = form.newMethod('function onClick(event) { application.output("I was clicked at " + event.getTimestamp()); }');
var onDoubleClickMethod = form.newMethod('function onDoubleClick(event) { application.output("I was double-clicked at " + event.getTimestamp()); }');
var onRightClickMethod = form.newMethod('function onRightClick(event) { application.output("I was right-clicked at " + event.getTimestamp()); }');
// At creation the button has the 'doNothing' method as onClick handler, but we'll change that later.
var btn = form.newButton('I am a button', 10, 40, 200, 20, doNothingMethod);
btn.onAction = onClickMethod;
btn.onDoubleClick = onDoubleClickMethod;
btn.onRightClick = onRightClickMethod;
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=onDataChange}{tr:id=name}{td}h6.onDataChange{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSMethod]{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linktr:id=sam}{td}*External linksSample*\\{sub-section:enabled_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:enabled_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:enabled_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:enabled_sam|trigger=none}{code:language=javascript}
var form = solutionModel.newForm('printForm'code:language=javascript}
var form = solutionModel.newForm('someForm', 'db:/example_data/parent_table', null, false, 400620, 300);
var fieldonDataChangeMethod = form.newFieldnewMethod('parent_table_text', JSField.TEXT_FIELD, 10, 10, 100, 20);
field.enabled = false;
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=format|class=node}{tr:id=name}{td}h6.format{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:format_des|trigger=button|text=}{sub-section}{sub-section:format_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:format_snc|trigger=button|text=}{sub-section}{sub-section:format_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:format_prs|trigger=button|text=}{sub-section}{sub-section:format_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:format_ret|trigger=button|text=}{sub-section}{sub-section:format_ret|trigger=none|class=sIndent}[String]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:format_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:format_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:format_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:format_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:format_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:format_sam|trigger=none}{code:language=javascript}
var field = form.newField('my_table_number', JSField.TEXT_FIELD, 10, 10, 100, 20);
field.format = '$#.00';
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=height|class=node}{tr:id=name}{td}h6.height{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:height_des|trigger=button|text=}{sub-section}{sub-section:height_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:height_snc|trigger=button|text=}{sub-section}{sub-section:height_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:height_prs|trigger=button|text=}{sub-section}{sub-section:height_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:height_ret|trigger=button|text=}{sub-section}{sub-section:height_ret|trigger=none|class=sIndent}[Number]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:height_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:height_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:height_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:height_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:height_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:height_sam|trigger=none}{code:language=javascript}
var field = form.newField('parent_table_text', JSField.TEXT_FIELD, 10, 10, 100, 20);
application.output('original width: ' + field.width);
application.output('original height: ' + field.height);
field.width = 200;
field.height = 100;
application.output('modified width: ' + field.width);
application.output('modified height: ' + field.height);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=name|class=node}{tr:id=name}{td}h6.name{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:name_des|trigger=button|text=}{sub-section}{sub-section:name_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:name_snc|trigger=button|text=}{sub-section}{sub-section:name_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:name_prs|trigger=button|text=}{sub-section}{sub-section:name_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:name_ret|trigger=button|text=}{sub-section}{sub-section:name_ret|trigger=none|class=sIndent}[String]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:name_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:name_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:name_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:name_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:name_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:name_sam|trigger=none}{code:language=javascript}
var form = solutionModel.newForm('someForm', 'db:/example_data/parent_table', null, false, 620, 300);
var label = form.newLabel('Label', 10, 10, 150, 150);
label.name = 'myLabel'; // Give a name to the component.
forms['someForm'].controller.show()
// Now use the name to access the component.
forms['someForm'].elements['myLabel'].text = 'Updated text';
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=onAction|class=node}{tr:id=name}{td}h6.onAction{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:onAction_des|trigger=button|text=}{sub-section}{sub-section:onAction_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:onAction_snc|trigger=button|text=}{sub-section}{sub-section:onAction_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:onAction_prs|trigger=button|text=}{sub-section}{sub-section:onAction_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:onAction_ret|trigger=button|text=}{sub-section}{sub-section:onAction_ret|trigger=none|class=sIndent}[JSMethod]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:onAction_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:onAction_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:onAction_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:onAction_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:onAction_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:onAction_sam|trigger=none}{code:language=javascript}
var doNothingMethod = form.newMethod('function doNothing() { application.output("Doing nothing."); }');
var onClickMethod = form.newMethod('function onClick(event) { application.output("I was clicked at " + event.getTimestamp()); }');
var onDoubleClickMethod = form.newMethod('function onDoubleClick(event) { application.output("I was double-clicked at " + event.getTimestamp()); }');
var onRightClickMethod = form.newMethod('function onRightClick(event) { application.output("I was right-clicked at " + event.getTimestamp()); }');
// At creation the button has the 'doNothing' method as onClick handler, but we'll change that later.
var btn = form.newButton('I am a button', 10, 40, 200, 20, doNothingMethod);
btn.onAction = onClickMethod;
btn.onDoubleClick = onDoubleClickMethod;
btn.onRightClick = onRightClickMethod;
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=onDataChange|class=node}{tr:id=name}{td}h6.onDataChange{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:onDataChange_des|trigger=button|text=}{sub-section}{sub-section:onDataChange_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:onDataChange_snc|trigger=button|text=}{sub-section}{sub-section:onDataChange_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:onDataChange_prs|trigger=button|text=}{sub-section}{sub-section:onDataChange_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:onDataChange_ret|trigger=button|text=}{sub-section}{sub-section:onDataChange_ret|trigger=none|class=sIndent}[JSMethod]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:onDataChange_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:onDataChange_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:onDataChange_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:onDataChange_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:onDataChange_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:onDataChange_sam|trigger=none}{code:language=javascript}
var form = solutionModel.newForm('someForm', 'db:/example_data/parent_table', null, false, 620, 300);
var onDataChangeMethod = form.newMethod('function onDataChange(oldValue, newValue, event) { application.output("Data changed from " + oldValue + " to " + newValue + " at " + event.getTimestamp()); }');
var field = form.newField('parent_table_text', JSField.TEXT_FIELD, 10, 10, 100, 20);
field.onDataChange = onDataChangeMethod;
forms['someForm'].controller.show();
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=placeholderText|class=node}{tr:id=name}{td}h6.placeholderText{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:placeholderText_des|trigger=button|text=}{sub-section}{sub-section:placeholderText_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:placeholderText_snc|trigger=button|text=}{sub-section}{sub-section:placeholderText_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:placeholderText_prs|trigger=button|text=}{sub-section}{sub-section:placeholderText_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:placeholderText_ret|trigger=button|text=}{sub-section}{sub-section:placeholderText_ret|trigger=none|class=sIndent}[String]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:placeholderText_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:placeholderText_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:placeholderText_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:placeholderText_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:placeholderText_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:placeholderText_sam|trigger=none}{code:language=javascript}
field.placeholderText = 'Search';
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=styleClass|class=node}{tr:id=name}{td}h6.styleClass{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:styleClass_des|trigger=button|text=}{sub-section}{sub-section:styleClass_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:styleClass_snc|trigger=button|text=}{sub-section}{sub-section:styleClass_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:styleClass_prs|trigger=button|text=}{sub-section}{sub-section:styleClass_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:styleClass_ret|trigger=button|text=}{sub-section}{sub-section:styleClass_ret|trigger=none|class=sIndent}[String]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:styleClass_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:styleClass_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:styleClass_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:styleClass_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:styleClass_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:styleClass_sam|trigger=none}{code:language=javascript}
var form = solutionModel.newForm('printForm', 'db:/example_data/parent_table', null, false, 400, 300);
var field = form.newField('parent_table_text', JSField.TEXT_FIELD, 10, 10, 100, 20);
var style = solutionModel.newStyle('myStyle','field.fancy { background-color: yellow; }');
form.styleName = 'myStyle'; // First set the style on the form.
field.styleClass = 'fancy'; // Then set the style class on the field.
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=valuelist|class=node}{tr:id=name}{td}h6.valuelist{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:valuelist_des|trigger=button|text=}{sub-section}{sub-section:valuelist_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:valuelist_snc|trigger=button|text=}{sub-section}{sub-section:valuelist_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:valuelist_prs|trigger=button|text=}{sub-section}{sub-section:valuelist_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:valuelist_ret|trigger=button|text=}{sub-section}{sub-section:valuelist_ret|trigger=none|class=sIndent}[JSValueList]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:valuelist_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:valuelist_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:valuelist_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:valuelist_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:valuelist_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:valuelist_sam|trigger=none}{code:language=javascript}
var vlist = solutionModel.newValueList('options', JSValueList.CUSTOM_VALUES);
vlist.customValues = "one\ntwo\nthree\nfour";
var cmb = form.newField('my_table_options', JSField.COMBOBOX, 10, 100, 100, 20);
cmb.valuelist = vlist;
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=visible|class=node}{tr:id=name}{td}h6.visible{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:visible_des|trigger=button|text=}{sub-section}{sub-section:visible_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:visible_snc|trigger=button|text=}{sub-section}{sub-section:visible_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:visible_prs|trigger=button|text=}{sub-section}{sub-section:visible_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:visible_ret|trigger=button|text=}{sub-section}{sub-section:visible_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:visible_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:visible_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:visible_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:visible_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:visible_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:visible_sam|trigger=none}{code:language=javascript}
var form = solutionModel.newForm('printForm', 'db:/example_data/parent_table', null, false, 400, 300);
var field = form.newField('parent_table_text', JSField.TEXT_FIELD, 10, 10, 100, 20);
field.visible = false;
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=width|class=node}{tr:id=name}{td}h6.width{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:width_des|trigger=button|text=}{sub-section}{sub-section:width_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:width_snc|trigger=button|text=}{sub-section}{sub-section:width_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:width_prs|trigger=button|text=}{sub-section}{sub-section:width_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:width_ret|trigger=button|text=}{sub-section}{sub-section:width_ret|trigger=none|class=sIndent}[Number]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:width_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:width_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:width_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:width_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:width_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:width_sam|trigger=none}{code:language=javascript}function onDataChange(oldValue, newValue, event) { application.output("Data changed from " + oldValue + " to " + newValue + " at " + event.getTimestamp()); }');
var field = form.newField('parent_table_text', JSField.TEXT_FIELD, 10, 10, 100, 20);
application.output('original width: ' +
field.width);
application.output('original height: ' + field.height);
field.widthonDataChange = 200onDataChangeMethod;
field.height = 100;
application.output('modified width: ' + field.width);
application.output('modified height: ' + field.heightforms['someForm'].controller.show();
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=x|class=nodeplaceholderText}{tr:id=name}{td}h6.xplaceholderText{td}{tr}{tr:id=ret}{td}{builder-show:permission=edit*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{tr:id=dessam}{td}*Sample*\\{div:class=sIndent}{sub-section:x_des|trigger=button|text=}{sub-section}{sub-section:x_des|trigger=none|class=sIndent}Replace with description{sub-sectioncode:language=javascript}
field.placeholderText = 'Search';
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{builder-showtbody}{builder-showtbody:permissionid=editstyleClass}{tr:id=snc}name}{td}h6.styleClass{td}*Since*\\{sub-section:x_snc|trigger=button|text=}{sub-section}{sub-section:x_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prssam}{td}*Parameters*\\{sub-section:x_prs|trigger=button|text=}{sub-section}{sub-section:x_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:x_ret|trigger=button|text=}{sub-section}{sub-section:x_ret|trigger=none|class=sIndent}[Number]{sub-sectionSample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('printForm', 'db:/example_data/parent_table', null, false, 400, 300);
var field = form.newField('parent_table_text', JSField.TEXT_FIELD, 10, 10, 100, 20);
var style = solutionModel.newStyle('myStyle','field.fancy { background-color: yellow; }');
form.styleName = 'myStyle'; // First set the style on the form.
field.styleClass = 'fancy'; // Then set the style class on the field.
{code}{div}{td}{tr}{builder-showtr:permissionclass=editlastDetailRow}{tr:id=seetd}{td}*Also see*\\{sub-section:x_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:x_see|trigger=none}{sub-section}{div}{tr}{tbody}{tbody:id=valuelist}{tr:id=name}{td}h6.valuelist{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linkret}{td}*External linksReturns*\\{sub-section:x_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:x_link|trigger=none}{sub-section}[JSValueList]{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:x_sam|trigger=button|text=}{sub-section}\\{div:class=sIndent}{sub-section:x_sam|trigger=none}{code:language=javascript}
var fieldvlist = formsolutionModel.newFieldnewValueList('parent_table_textoptions', JSFieldJSValueList.TEXT_FIELD, 10, 10, 100, 20CUSTOM_VALUES);
application.output('original location: ' + field.x + ', ' + field.y);
field.x = 90;
field.y = 90;
application.output('changed location: ' + field.x + ', ' + field.y);
{code}{sub-sectionvlist.customValues = "one\ntwo\nthree\nfour";
var cmb = form.newField('my_table_options', JSField.COMBOBOX, 10, 100, 100, 20);
cmb.valuelist = vlist;
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=y|class=nodevisible}{tr:id=name}{td}h6.visible{td}{tr}{tr:id=name}{td}h6.yid=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{builder-showtr:permission=edit}{tr:id=des}{td}{sub-section:y_des|trigger=button|text=}{sub-section}{sub-section:y_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:y_snc|trigger=button|text=}{sub-section}{sub-section:y_snc|trigger=none|class=sIndent} Replace with version info{sub-sectionid=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var form = solutionModel.newForm('printForm', 'db:/example_data/parent_table', null, false, 400, 300);
var field = form.newField('parent_table_text', JSField.TEXT_FIELD, 10, 10, 100, 20);
field.visible = false;
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{builder-showtbody}{builder-showtbody:permissionid=editwidth}{tr:id=prsname}{td}*Parameters*\\{sub-section:y_prs|trigger=button|text=}{sub-section}{sub-section:y_prs|trigger=none|h6.width{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}{sub-section[Number]{div}{td}{tr}{builder-show}{tr:id=retsam}{td}*Returns*\\{sub-section:y_ret|trigger=button|text=}{sub-section}{sub-section:y_ret|trigger=none|class=sIndent}[Number]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:y_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:y_see|trigger=none}{sub-section}{div*Sample*\\{div:class=sIndent}{code:language=javascript}
var field = form.newField('parent_table_text', JSField.TEXT_FIELD, 10, 10, 100, 20);
application.output('original width: ' + field.width);
application.output('original height: ' + field.height);
field.width = 200;
field.height = 100;
application.output('modified width: ' + field.width);
application.output('modified height: ' + field.height);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{builder-showtbody}{builder-showtbody:permissionid=editx}{tr:id=link}name}{td}h6.x{td}*External links*\\{sub-section:y_link|trigger=button|text=}{sub-section}}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}{sub-section:y_link|trigger=none}{sub-section}sIndent}[Number]{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:y_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:y_sam|trigger=none}{code:language=javascript}
var field = form.newField('parent_table_text', JSField.TEXT_FIELD, 10, 10, 100, 20);
application.output('original location: ' + field.x + ', ' + field.y);
field.x = 90;
field.y = 90;
application.output('changed location: ' + field.x + ', ' + field.y);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr ' + field.y);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getTitle|class=nodey}{tr:id=name}{td}h6.getTitle{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSTitle]{span}{span:id=iets|style=float: left; font-weight: bold;}getTitle{span}{span:id=iets|style=float: left;}\(){spany{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{builder-show:permission=edit}{tr:id=dessam}{td}{sub-section:getTitle_des|trigger=button|text=}{sub-section}{sub-section:getTitle_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getTitle_snc|trigger=button|text=}{sub-section}{sub-section:getTitle_snc|trigger=none|class=sIndent} Replace with version info{sub-section*Sample*\\{div:class=sIndent}{code:language=javascript}
var field = form.newField('parent_table_text', JSField.TEXT_FIELD, 10, 10, 100, 20);
application.output('original location: ' + field.x + ', ' + field.y);
field.x = 90;
field.y = 90;
application.output('changed location: ' + field.x + ', ' + field.y);
{code}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prstr:class=lastDetailRow}{td}{td}*Parameters*\\{sub-section:getTitle_prs|trigger=button|text=}{sub-section}{sub-section:getTitle_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getTitle_ret|trigger=button|text=}{sub-section}{sub-section:getTitle_ret|trigger=none|class=sIndent}[JSTitle]{sub-section}{td}{tr}{builder-show:permission=edit}{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=getTitle}{tr:id=name}{td}h6.getTitle{td}{tr}{tr:id=seesig}{td}*Also see*\\{sub-section:getTitle_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getTitle_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit{span:style=margin-right: 5px;}[JSTitle]{span}{span:style=font-weight: bold;}getTitle{span}{span}\(){span}{td}{tr}{tr:id=linkret}{td}*External linksReturns*\\{sub-section:getTitle_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getTitle_link|trigger=none}{sub-section}{[JSTitle]{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getTitle_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getTitle_sam|trigger=none}{code:language=javascript}
var form = solutionModel.newForm('someForm', 'db:/example_data/parent_table');
var field = form.newField('parent_table_text', JSField.TEXT_FIELD, 1);
field.getTitle().text = 'Parent table'
forms['someForm'].controller.show()
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}