2010-07-14 5 views
0

Hai, J'utilise SmartGwt Java. Pour formater le prix en utilisant keyPressFilter, veuillez suggérer n'importe quelle expression régulière. Il acceptera seulement 0-9 et seul décimal. Maintenant j'utilise le gestionnaire KeyPress. Dans ce cas, s'il est vide (par défaut), définissez cette valeur "0.00", en utilisant TextItem.setEmptyDisplayValue ("0.00"). Donc, la première fois, il acceptera une seule décimale bien qu'il y ait un autre décimal présent ("0.00"). Donner une solution à ce problème. Merci d'avance. Cordialement, Sathya.TextItem avec filtre de prix

Répondre

0

De nombreuses solutions différentes sont possibles.

Transformer un champ vide en un contenu de "0.00" après avoir appuyé sur une touche est surprenant, peut-être même dérangeant pour l'utilisateur; Je ne ferais pas ça. Si vous allez l'aider, vous devez le faire à fond, en offrant l'équivalent d'un éditeur de saisie. Sinon, laissez-le faire son travail et vérifiez simplement le résultat final lorsqu'il tente de changer de mise au point sur le terrain.

Les expressions régulières sont un moyen de vérifier l'entrée; mais fait seul, c'est une solution paresseuse et inefficace. Vous avez accès à l'ensemble du texte de saisie à chaque frappe. Vous pouvez résoudre votre problème en vérifiant au keyUp s'il y a déjà une décimale dans le texte d'entrée et, si tel n'est pas le cas, en autoriser un autre. Vous pouvez faire quelque chose de similaire pour éviter d'entrer plus de 2 chiffres après la virgule.