DictionaryFindBrowseSelect.xslt
From Plex-XML
The DictionaryFindBrowseSelect.xslt is used to create a grid for record selection purpose.
A record selection function can be used for example if you have to type in a customer account number in screen. If you don't know the number a select button can lead you to a select function where you can search for your account, select this account with a klick and bring back the account number along with other account data to your calling function.
The DictionaryFindBrowseSelect.xslt is equal to the DictionaryFindBrowse.xslt except
- it has an additional close button within the toolbar
- the GridRowOnClick template will be overridden in order to return one or more values to the calling function
<xsl:template name="gridRowOnClick">
<gridrowonclick>
<onclick>
<selectRow>
<formName>Currency</formName>
<param value="{returnvalue[@name='CY CurrencyCode']/@unformatted}"/>
<param value="{returnvalue[@name='CY Description']/@unformatted}"/>
</selectRow>
</onclick>
</gridrowonclick>
</xsl:template>
Calling the Select Page
to call the Select page some code has to be generated in the calling page. this is normally done in a XSL-Template named "F4" resp. a project specific template which is called from within the template "F4".
...
<xsl:when test="contains(@impl,'CXDTKU')">
<xsl:call-template name="generateSelectButton">
<xsl:with-param name="param">
<requestname>CYFBSelect</requestname>
<fillField value="CXDTKU" operator="=">CYUZCE</fillField>
<returnField>CYCKTW</returnField>
</xsl:with-param>
</xsl:call-template>
</xsl:when>
...
Explanations
<gridrowonclick> generates an action - specified by subelements - to be performed when clicking a row in the grid
<onclick> action to be performed without opening a new window
<selectRow> return values to the calling page
<formName> in this context not really used, but necessary for now, will be removed in the future!
<param> the values which should be returned to the calling page.the first of them will be used automatically to fill the current field from which the Select page is called
"generateSelectButton" is the name of the template which generates the necessary code and the button in the calling page
<requestname> should be the name of the request responsible for displaying the Select page
<fillField> elements are use to provide the Select request with search values.
<returnField> elements contains the names of further fields to be filled with values return by the select page
Future
in the near Future the implementation will be changed to a one which does not depend on the order of the fields, so you will be able to return all fields the rows in the select page provide to all fields on the calling page. this will also eliminate the need to provide distinct select page only because you want to return different fields.

