Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1374 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  GWT - smartGWT : formatter & mask sur composant ComboBoxItem

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

GWT - smartGWT : formatter & mask sur composant ComboBoxItem

n°1989109
cartemere
Posté le 30-04-2010 à 14:19:26  profilanswer
 

Bonjour,
 
J'ai une question concernant l'utilisation de composants smartGWT, et plus précisément du composant ComboBoxItem.
 
Mon besoin initial :

  • L'utilisateur peut choisir une valeur parmis une collection de String...
  • cette collection est relativement conséquente (plus de 115 000 entrées)

pour pallier aux problèmes de performances, la "valueMap" associée (collection des valeurs possibles pour l'auto-complétion) est récupérée à la volée par appel asynchrone.
 
 
 
Jusque là tout se passe bien, sauf que les valeurs possibles respectent certains patterns : caractères compris entre [A-Z0-9_-.], donc pas de minuscule, pas de signes de ponctuation "exotiques", pas d'espaces.
 
 
 
Je souhaite donc mettre un filtre/formatteur sur la saisie dans un composant ComboBoxItem.
 
Ce genre de filtre/formatteur existe pour les composant TextItem :

Code :
  1. TextItem component = new TextItem();
  2. // auto-convert characters to uppercase
  3. component.setCharacterCasing(CharacterCasing.UPPER);
  4. // add input mask
  5. component.setMask(">[0-9A-Z_-.]" );


 
 
Mais ça ne semble pas exister pour les autres composants :/
 
Il y a un moyen de faire ça ?

mood
Publicité
Posté le 30-04-2010 à 14:19:26  profilanswer
 

n°1989137
cartemere
Posté le 30-04-2010 à 14:50:09  profilanswer
 

Bon je me réponds tout seul :D
 
 
En fait ce genre de modification est gérer manuellement sur les composants autre que TextItem.
 
pour les autres composants, il est nécessaire de rattacher un FormItemInputTransformer qui va se charger d'interpréter et de formatter correctement les inputs de l'utilisateur.
 
Pour ce faire :
 

Code :
  1. component.setInputTransformer(new FormItemInputTransformer() {
  2.      
  3.       public Object transformInput(DynamicForm form, FormItem item, Object value, Object oldValue) {
  4.         // allow on-the-fly conversion to retrieve formatted value
  5.         if (value != null) {
  6.           String valueUp = (((String)value).toUpperCase();
  7.           if (valueUp.matches("[A-Z0-9\\.\\-_]+" )) {
  8.             // allow only uppercase char, digits, '.', '_' and '-' entries
  9.             return valueUp;
  10.           }
  11.           // invalid input : return previous entry
  12.           return oldValue;
  13.         }
  14.         return value;
  15.       }
  16.     });


 
et ça fonctionne nickel :jap:


Message édité par cartemere le 30-04-2010 à 15:40:28

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  GWT - smartGWT : formatter & mask sur composant ComboBoxItem

 

Sujets relatifs
[BATCH] Comment formatter des noms de variables dans un loop ?GWT: demander à google d'ignorer un paramètre
GridBagLayout : La taille d'un composant prend tout le videdeveloppement d'un composant ActiveX
[Java] binding objet JAVA -> XML pour Datasource GWT[Help] Création de composant web : Widget or not widget ???
[Flex] Ajouter un composant dans une Vbox en AS3GWT-GXT-XML
[2007] composant Visual Basic for ApplicationsPosition d'un composant dans un Form
Plus de sujets relatifs à : GWT - smartGWT : formatter & mask sur composant ComboBoxItem


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR