Classe SelectOption

Un objet SelectOption spécifie l'une des valeurs possibles pour un composant VisualforceselectCheckboxes, selectList ou selectRadio. Il est composé d'une étiquette affichée pour l'utilisateur final et d'une valeur renvoyée au contrôleur si l'option est sélectionnée Un objet SelectOption peut également être affiché dans un état désactivé, pour permettre à l'utilisateur de le consulter sans pouvoir le sélectionner en tant qu'option.

Instanciation

Dans un contrôleur personnalisé ou une extension de contrôleur, vous pouvez instancier un SelectOption en utilisant l'une des méthodes suivantes :
  • SelectOption option = new SelectOption(value, label, isDisabled);

    value est la chaîne renvoyée au contrôleur si l'option est sélectionnée par un utilisateur, label est la chaîne affichée pour l'utilisateur dans les options et isDisabled est une valeur booléenne qui, lorsqu'elle est true, indique que l'utilisateur ne peut pas sélectionner l'option, mais qu'il peut la consulter.

  • SelectOption option = new SelectOption(value, label);

    value est la chaîne renvoyée au contrôleur si l'option est sélectionnée par un utilisateur et label est la chaîne affichée pour l'utilisateur dans les options. Puisque la valeur isDisabled n'est pas spécifiée, l'utilisateur peut consulter et sélectionner l'option.

Méthodes

Les méthodes SelectOption sont toutes appelées et exécutées dans une instance particulière d'un objet SelectOption.

Le tableau ci-dessous présente les méthodes d'instance pour SelectOption.

Nom Arguments Type de renvoi Description
getDisabled Boolean Renvoie la valeur actuelle de l'attribut isDisabled de l'objet SelectOption. Si isDisabled est défini sur true, l'utilisateur peut afficher l'option, mais pas la sélectionner. Si isDisabled est défini sur false, l'utilisateur peut afficher et sélectionner l'option.
getEscapeItem Boolean Renvoie la valeur actuelle de l'attribut itemEscaped de l'objet SelectOption. Si itemEscaped est défini sur true, les caractères HTML et XML sensibles sont échappés dans la sortie HTML générée pour ce composant. Si itemEscaped est défini sur false, les éléments sont affichés tels qu'ils sont écrits.
getLabel String Renvoie l'étiquette d'option affichée pour l'utilisateur.
getValue String Renvoie la valeur d'option qui est renvoyée au contrôleur si l'utilisateur sélectionne l'option.
setDisabled Boolean isDisabled Void Définit la valeur de l'attribut isDisabled de l'objet SelectOption. Si isDisabled est défini sur true, l'utilisateur peut afficher l'option, mais pas la sélectionner. Si isDisabled est défini sur false, l'utilisateur peut afficher et sélectionner l'option.
setEscapeItem Boolean itemsEscaped Void Définit la valeur de l'attribut itemEscaped de l'objet SelectOption. Si itemEscaped est défini sur true, les caractères HTML et XML sensibles sont échappés dans la sortie HTML générée pour ce composant. Si itemEscaped est défini sur false, les éléments sont affichés tels qu'ils sont écrits.
setLabel String l Void Définit la valeur de l'étiquette d'option affichée pour l'utilisateur.
setValue String v Void Définit la valeur de la valeur d'option qui est renvoyée au contrôleur si l'utilisateur sélectionne l'option.

Exemple

L'exemple suivant montre comment utiliser une liste d'objets SelectOption pour fournir les valeurs possibles d'un composant selectCheckboxes dans une page Visualforce. Dans le contrôleur personnalisé suivant, la méthode getItems définit et renvoie la liste des objets SelectOption possibles :

public class sampleCon {



 	String[] countries = new String[]{};



 	public PageReference test() {

 	 	return null;

 	}



 	public List<SelectOption> getItems() {

 	 	List<SelectOption> options = new List<SelectOption>();

 	 	options.add(new SelectOption('US','US'));

 	 	options.add(new SelectOption('CANADA','Canada'));

 	 	options.add(new SelectOption('MEXICO','Mexico'));

 	 	return options;

  	}



 	public String[] getCountries() {

  	 	return countries;

 	}



 	public void setCountries(String[] countries) {

 	 	this.countries = countries;

 	}



}		

Dans le balisage de page suivant, la balise <apex:selectOptions> utilise la méthode getItems du contrôleur ci-dessus pour récupérer la liste des valeurs possibles. Puisque <apex:selectOptions> est un enfant de la balise <apex:selectCheckboxes>, les options sont affichées en tant que cases à cocher :

<apex:page controller="sampleCon">

 	<apex:form>

 	 	<apex:selectCheckboxes value="{!countries}">

 	 	 	<apex:selectOptions value="{!items}"/>

 	 	</apex:selectCheckboxes><br/>

 	 	<apex:commandButton value="Test" action="{!test}" rerender="out" status="status"/>

 	</apex:form>

 	<apex:outputPanel id="out">

 	 	<apex:actionstatus id="status" startText="testing...">

 	 	 	<apex:facet name="stop">

 	 	 	 	<apex:outputPanel>

 	 	 	 	 	<p>You have selected:</p>

 	 	 	 	 	<apex:dataList value="{!countries}" var="c">{!c}</apex:dataList>

 	 	 	 	</apex:outputPanel>

 	 	 	</apex:facet>

 	 	</apex:actionstatus>

 	</apex:outputPanel>

</apex:page>		
© Copyright 2000–2013 salesforce.com, inc. Tous droits réservés.
Diverses marques de commerce appartenant à leur détenteur respectif.