Siebel Developer's Reference > Siebel Web Engine Tags > Applet Tags >

Select Row Tag


The select-row tag displays check boxes in a multiselect list applet. This applet allows the user to choose multiple items for a transaction. To make these choices, the user clicks the check boxes that SWE displays in the left column.

This tag uses the following format:

<swe:select-row property="FormattedHtml" />

where:

  • property. If the applet is enabled for multirecord selection in Siebel Tools, and:
    • If you set the property attribute to FormattedHtml in the select-row tag or in this tag, then SWE displays the check box. For more information, see This Tag.
    • If you do not include the property attribute, then SWE displays the body of this select-row tag.

For example:

<swe:select-row property="FormattedHtml" />

For example:

<swe:select-row>
<swe:this property="FormattedHtml" />
</swe:select-row>

You can set the HTML Multi Row Select property of the list object of the applet to TRUE to enable multirecord selection in Siebel Tools.

Using the Select Row Tag

You can use the select-row tag to create a generic list applet template that SWE can use with a list applet that does or does not support multirecord selection in the following locations:

  • In the list header. You can use the select-row tag to conditionally add a td tag for the header for the row selection check box column.
  • In the list body. You can use the select-row tag with the this tag to conditionally add a td tag that contains the check box.

You must place list applet controls and list columns in a form tag when you enable multirecord selection. Any method that resides on the applet requires that SWE submit the form that contains the row selection check boxes. For more information, see Form Tag.

If the user chooses multiple records, then Siebel CRM does not disable a control that does not support calling a method. This situation occurs because Siebel CRM does not call the Siebel Server if the user chooses multiple records. Instead, if the control is activated, then Siebel CRM sends a message to the user that states that it cannot do the action if multiple records are chosen.

How the Select Row Tag Positions the Current Record

The select-row tag positions the current record differently than how the PositionOnRow control positions this record. A single list applet can contain the PositionOnRow control and the Multiple Row Selection. Siebel CRM chooses the record where the business component is currently positioned when the user navigates to a list applet. The user can use the check box to remove the check mark for this record.

Unlike PositionOnRow, no round trip occurs to the Siebel Server when the user uses a check box to choose rows. Siebel CRM identifies the records as chosen on the business component only if it calls a method that resides on the applet. The user can choose records across multiple pages. The user can use the Next and Previous controls and can also choose records from different working sets.

How the HTML Client Framework Chooses Records

If Siebel CRM calls a method that resides on an applet, then the HTML Client framework sets the chosen records in the business component. This configuration occurs in the PrepareToInvokeMethod method before it calls the DoInvokeMethod method. These methods reside in the CSSSWEFrame class. Siebel CRM does the following work when the framework uses a command to call a method that resides on an applet:

  1. Positions the parent business component of the applet, if it exists, on the correct records.
  2. Positions the business component that the applet references in the currently active record, if necessary.
  3. If Siebel CRM identifies multiple records, then it calls the SelectRowById method of the CSSBusComp class to choose these records in the business component.
  4. To call the method on the applet, Siebel CRM calls the DoInvokeMethod method of the CSSSWEFrame class.

The CSSSWEFrame class does not include any methods that support multiple records. If a specialized applet supports this feature, then the DoInvokeMethod method must be specialized. The DoInvokeMethod method calls the IsMultiRecSelected method of the CSSSWEFrame class to determine if multiple records are chosen. If TRUE, then it calls the EnumAllSelections of the CSSBusComp class to get all the records that are currently chosen in the business component. For important caution information, see Using Specialized Classes.

Siebel Developer's Reference Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices.