richfaces suggestionBox passage des valeurs supplémentaires pour la sauvegarde de haricot
Lors de l'utilisation de la RichFaces suggestionBox
comment vous pouvez passer plus d'un id ou de la valeur à partir de la page avec la saisie de texte à l' suggestionBox
backing bean. c'est à dire: pour afficher une liste de suggestions de villes à l'intérieur d'un état sélectionné? Voici mon autoComplete
méthode.
public List< Suburb > autocomplete(Object suggest)
{
String pref = (String) suggest;
ArrayList< Suburb > result = new ArrayList< Suburb >();
Iterator< Suburb > iterator = getSuburbs().iterator();
while( iterator.hasNext() )
{
Suburb elem = ((Suburb) iterator.next());
if( (elem.getName() != null && elem.getName().toLowerCase().indexOf( pref.toLowerCase() ) == 0) || "".equals( pref ) )
{
result.add( elem );
}
}
return result;
}
Comme vous pouvez le voir il y a une valeur transmise à partir de la page Object
suggèrent, qui est le texte de la h:inputText
(dans les faceLets m:textFormRow
)
<m:textFormRow id="suburb" label="#{msgs.suburbPrompt}"
property="#{bean[dto].addressDTO.suburb}"
required="true" maxlength="100" size="30" />
<rich:suggestionbox height="200" width="200" usingSuggestObjects="true"
suggestionAction="#{suburbsMBean.autocomplete}" var="suburb" for="suburb"
fetchValue="#{suburb.name}" id="suggestion">
<h:column>
<h:outputText value="#{suburb.name}" />
</h:column>
</rich:suggestionbox>
Plus haut dans la page, vous pouvez sélectionner un état que je voudrais utiliser pour réduire la liste des banlieues que la boîte à suggestions s'affiche.
Vous pouvez être plus explicite sur ce que vous êtes en train de faire - par exemple, l'affichage d'un formulaire simple avec les contrôles que vous souhaitez utiliser et de l'orthographe, la séquence des événements comme les entrées de l'utilisateur des données.
Donc, vous voulez sélectionner l'état, puis la suggestionbox voudrais seulement suggérer banlieue de cet état ? Quel est le code pour sélectionner l'état ?
Donc, vous voulez sélectionner l'état, puis la suggestionbox voudrais seulement suggérer banlieue de cet état ? Quel est le code pour sélectionner l'état ?
OriginalL'auteur Martlark | 2009-05-24
Vous devez vous connecter pour publier un commentaire.
(Disclaimer: je suis conscient que la question était plutôt il y a longtemps, mais peut-être que ça va aider quelqu'un avec un problème similaire...)
Consultez cet article de blog qui traite avec quelque chose de similaire: RichFaces - SuggestionBox et champ caché.
La clé est d'utiliser
<f:setPropertyActionListener value="#{...}" target="#{...}">
enveloppé à l'intérieur<a4j:support event="onselect" ajaxSingle="true">
. Ceci peut être utilisé pour définir une valeur supplémentaire pour un backing bean quandonselect
est déclenchée pour l'SuggestionBox.Avec cette approche, j'ai réussi à créer un SuggestionBox qui s'affiche (et auto-complété) clients noms mais sur des ensembles de sélection de l'ensemble de client de l'objet (avec plusieurs propriétés; identifié par un id) pour un haricot.
OriginalL'auteur Jonik
Ne l'aide
<f:parameter
balise à l'intérieur de la<rich:suggestionbox
travail?OriginalL'auteur Jim Barrows
Avez-vous regardé ce RichFaces suggestionBox démo encore ? Il y a des liens dans les exemples pour afficher la source.
Edit:
Sonne comme vous avez besoin de la valeur de l'état de votre bean avant que l'utilisateur tape dans la suggestionBox. Je voudrais utiliser le RichFaces de l'ajax pour transmettre la valeur d'état à la fève ainsi, lorsque la saisie semi-automatique de la méthode appelée est a l'état sélectionné par l'utilisateur sur la page pour remplir une liste de banlieue.
OriginalL'auteur Mark
Vous pouvez utiliser le
<f:parameter
onglet à l'intérieur de larich:suggestionbox
. Ma tâche était de filtrage d'une liste en fonction d'un attribut de l'élément de la liste, où, parfois, cet attribut peut être ignorée. Comme, parfois, je veux une liste de seulement agrumes, et parfois, je veux que l'ensemble de la liste des fruits.Dans la page:
J'ai eu un cours (
Basket
) qui savait si la liste devait être spéciale-filtrée, et une autre classe (ListBuilder
) qui construit la liste.Dans
Basket
:Dans ListBuilder:
OriginalL'auteur PMorganCA