{div:style=display:none} DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY (EXCEPT INSIDE THE DIV BELOW WITH ID=DESCRIPTION), UNLESS YOU KNOW WHAT YOU'RE DOING. THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO AUTO UPDATE THE CONTENT THROUGH THE DOC GENERATOR{div} {div:id=description}{div}\\ {table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Constants Summary{th}{tr}{tbody}{tr}{td}[Number]{td}{td}[#BODY] Constant use for specifying the type of form parts.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#FOOTER] Constant use for specifying the type of form parts.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#HEADER] Constant use for specifying the type of form parts.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#LEADING_GRAND_SUMMARY] Constant use for specifying the type of form parts.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#LEADING_SUBSUMMARY] Constant use for specifying the type of form parts.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#TITLE_FOOTER] Constant use for specifying the type of form parts.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#TITLE_HEADER] Constant use for specifying the type of form parts.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#TRAILING_GRAND_SUMMARY] Constant use for specifying the type of form parts.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#TRAILING_SUBSUMMARY] Constant use for specifying the type of form parts.{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}Property Summary{th}{tr}{tbody}{tr}{td}[Boolean]{td}{td}[#allowBreakAcrossPageBounds] When set, the remainder of a selected part that does not fit on the page currently being printed, will not be transported to the next page \- it will break where the page ends and continue on the next page.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#background] The background color of the form part.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#discardRemainderAfterBreak] When set, the remainder of a selected part that is broken due to the page ending will not be printed on the next page \- it will be discarded.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#groupbyDataProviderIDs] For Leading Subsummary or Trailing Subsummary parts, one or more dataproviders can be added as Break (GroupBy) dataproviders.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#height] The height of a selected part; specified in pixels.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#pageBreakAfterOccurrence] A page break will be inserted after a specified number of occurences of a selected part.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#pageBreakBefore] When set, a page break will be inserted before each occurrence of a selected part.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#restartPageNumber] When set, page numbering will be restarted after each occurrence of a selected part.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#sinkWhenLast] When set, the last part on a page (such as a Trailing Grand Summary part) will "sink" to the lowest part of the page when there is free space.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#styleClass] The Cascading Style Sheet (CSS) class name applied to the part.{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}[Number]{td}{td}[#getPartType]\() The type of this part.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#getPartYOffset]\() The Y offset of the part on the form, this will include all the super forms parts if this form extends a form.{td}{tr}{tbody}{tbody}{tr}{td}[UUID]{td}{td}[#getUUID]\() Returns the UUID of this component.{td}{tr}{tbody}{table}\\ {table:id=constant|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Constants Details{th}{tr}{tbody:id=BODY}{tr:id=name}{td}h6.BODY{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var body = form.newPart(JSPart.BODY, 320); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=FOOTER}{tr:id=name}{td}h6.FOOTER{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var footer = form.newPart(JSPart.FOOTER, 440); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=HEADER}{tr:id=name}{td}h6.HEADER{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var header = form.newPart(JSPart.HEADER, 80); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=LEADING_GRAND_SUMMARY}{tr:id=name}{td}h6.LEADING_GRAND_SUMMARY{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var leadingGrandSummary = form.newPart(JSPart.LEADING_GRAND_SUMMARY, 120); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=LEADING_SUBSUMMARY}{tr:id=name}{td}h6.LEADING_SUBSUMMARY{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var leadingSubsummary = form.newPart(JSPart.LEADING_SUBSUMMARY, 160); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=TITLE_FOOTER}{tr:id=name}{td}h6.TITLE_FOOTER{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var titleFooter = form.newPart(JSPart.TITLE_FOOTER, 500); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=TITLE_HEADER}{tr:id=name}{td}h6.TITLE_HEADER{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var titleHeader = form.newPart(JSPart.TITLE_HEADER, 40); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=TRAILING_GRAND_SUMMARY}{tr:id=name}{td}h6.TRAILING_GRAND_SUMMARY{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var trailingGrandSummary = form.newPart(JSPart.TRAILING_GRAND_SUMMARY, 400); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=TRAILING_SUBSUMMARY}{tr:id=name}{td}h6.TRAILING_SUBSUMMARY{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var trailingSubsummary = form.newPart(JSPart.TRAILING_SUBSUMMARY, 360); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{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=allowBreakAcrossPageBounds}{tr:id=name}{td}h6.allowBreakAcrossPageBounds{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var body = form.newPart(JSPart.BODY, 320); body.allowBreakAcrossPageBounds = true; body.discardRemainderAfterBreak = true; {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=background}{tr:id=name}{td}h6.background{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 body = form.newPart(JSPart.BODY, 320); body.background = 'green'; {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=discardRemainderAfterBreak}{tr:id=name}{td}h6.discardRemainderAfterBreak{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var body = form.newPart(JSPart.BODY, 320); body.allowBreakAcrossPageBounds = true; body.discardRemainderAfterBreak = true; {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=groupbyDataProviderIDs}{tr:id=name}{td}h6.groupbyDataProviderIDs{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 leadingSubsummary = form.newPart(JSPart.LEADING_SUBSUMMARY, 160); leadingSubsummary.groupbyDataProviderIDs = 'my_table_text'; {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=height}{tr:id=name}{td}h6.height{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var part = form.newPart(JSPart.HEADER, 100); part.height = 200; {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=pageBreakAfterOccurrence}{tr:id=name}{td}h6.pageBreakAfterOccurrence{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var body = form.newPart(JSPart.BODY, 320); body.pageBreakAfterOccurrence = 2; {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=pageBreakBefore}{tr:id=name}{td}h6.pageBreakBefore{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var leadingSubsummary = form.newPart(JSPart.LEADING_SUBSUMMARY, 160); leadingSubsummary.groupbyDataProviderIDs = 'my_table_text'; leadingSubsummary.pageBreakBefore = true; {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=restartPageNumber}{tr:id=name}{td}h6.restartPageNumber{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var trailingSubsummary = form.newPart(JSPart.TRAILING_SUBSUMMARY, 360); trailingSubsummary.groupbyDataProviderIDs = 'my_table_text'; trailingSubsummary.restartPageNumber = true; {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=sinkWhenLast}{tr:id=name}{td}h6.sinkWhenLast{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var trailingGrandSummary = form.newPart(JSPart.TRAILING_GRAND_SUMMARY, 400); trailingGrandSummary.sinkWhenLast = true; {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=styleClass}{tr:id=name}{td}h6.styleClass{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 body = form.newPart(JSPart.BODY, 320); body.styleClass = 'myBody'; {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}\\ {table:id=function|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=getPartType}{tr:id=name}{td}h6.getPartType{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Number]{span}{span:style=font-weight: bold;}getPartType{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number] -- A number representing the type of the form part.{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var allParts = form.getParts() for (var i=0; i<allParts.length; i++) { if (allParts[i].getPartType() == JSPart.BODY) application.output('body Y offset: ' + allParts[i].getPartYOffset()); } {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getPartYOffset}{tr:id=name}{td}h6.getPartYOffset{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Number]{span}{span:style=font-weight: bold;}getPartYOffset{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number] -- A number holding the Y offset of the form part.{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var allParts = form.getParts() for (var i=0; i<allParts.length; i++) { if (allParts[i].getPartType() == JSPart.BODY) application.output('body Y offset: ' + allParts[i].getPartYOffset()); } {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getUUID}{tr:id=name}{td}h6.getUUID{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[UUID]{span}{span:style=font-weight: bold;}getUUID{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[UUID]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript} var button_uuid = solutionModel.getForm("my_form").getButton("my_button").getUUID(); application.output(button_uuid.toString()); {code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table} |