Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formater les champs numériques dans un textBox

4 réponses
Avatar
Alain
Bonjour,

Comment formater à l'affichage dans un textBox une valeur numérique

ex: "2 500,00"

Dans les datagrid j'utilise:
DataFormatString="{0: # ##0}"

ex: <asp:BoundColumn DataField="HonorairesRemiseHT" HeaderText="Honoraires
HT" DataFormatString="{0: # ##0}">

Je n'ai pas trouvé dans un textbox ?

Merci Alain

4 réponses

Avatar
Zazar
Bonjour,

Comment formater à l'affichage dans un textBox une valeur numérique

ex: "2 500,00"

Dans les datagrid j'utilise:
DataFormatString="{0: # ##0}"

ex: <asp:BoundColumn DataField="HonorairesRemiseHT" HeaderText="Honoraires
HT" DataFormatString="{0: # ##0}">

Je n'ai pas trouvé dans un textbox ?



Vous pouvez faire appel à la fonction String.Format avant d'affecter la
valeur au TextBox, ou mieux vous créez un contrôle dérivant de TextBox qui
implémentera cette fonctionnalité.

--
Zazar
Avatar
Alain
Merci mais cela me pose un autre problème,

j'ai écris : Honoraires.Text = String.Format("{0:#,###0.00}",
Offre.Honoraires)

l'affichage est correct le seul problème est que cela déclenche une erreur
si l'on place un RangeValidator de type "Currency" car il n'accepte pas
l'espace inséré par le string.format ?

De plus y a t'il moyen de justifier à droite un textbox ?

Alain

"Zazar" a écrit :

Bonjour,

> Comment formater à l'affichage dans un textBox une valeur numérique
>
> ex: "2 500,00"
>
> Dans les datagrid j'utilise:
> DataFormatString="{0: # ##0}"
>
> ex: <asp:BoundColumn DataField="HonorairesRemiseHT" HeaderText="Honoraires
> HT" DataFormatString="{0: # ##0}">
>
> Je n'ai pas trouvé dans un textbox ?

Vous pouvez faire appel à la fonction String.Format avant d'affecter la
valeur au TextBox, ou mieux vous créez un contrôle dérivant de TextBox qui
implémentera cette fonctionnalité.

--
Zazar





Avatar
Zazar
Bonsoir,

j'ai écris : Honoraires.Text = String.Format("{0:#,###0.00}",
Offre.Honoraires)

l'affichage est correct le seul problème est que cela déclenche une erreur
si l'on place un RangeValidator de type "Currency" car il n'accepte pas
l'espace inséré par le string.format ?



C'est normal, s'il y a un espace, ce n'est pas un nombre. Pour contourner
ça, il va falloir passer par un customvalidator.

De plus y a t'il moyen de justifier à droite un textbox ?


Pas à ma connaissance, mais je ne garantirais pas que c'est impossible. Si
vous connaissez la taille du champ (en nombre de caractères), vous pourrez
jouer avec du javascript pour faire en sorte de rajouter des espaces avant
le contenu de la textbox, mais c'est pas top.

Sinon, une autre possibilité pour résoudre vos problèmes est de différencier
les contrôles servant à l'affichage de ceux servant à l'édition si c'est
possible. Un peu comme dans le datagrid qui utilise des labels, et si on
modifie une ligne, utilise des textbox.

--
Zazar
Avatar
Alain
Bonjour,

Merci pour tes réponses. En effet il n'y a rien d'évident dans tout cela. La
solution que j'aii utilisée consiste effectivement à ne formatter que des
champs en affichage.

A bientôt

Alain

"Zazar" a écrit :

Bonsoir,

> j'ai écris : Honoraires.Text = String.Format("{0:#,###0.00}",
> Offre.Honoraires)
>
> l'affichage est correct le seul problème est que cela déclenche une erreur
> si l'on place un RangeValidator de type "Currency" car il n'accepte pas
> l'espace inséré par le string.format ?

C'est normal, s'il y a un espace, ce n'est pas un nombre. Pour contourner
ça, il va falloir passer par un customvalidator.

> De plus y a t'il moyen de justifier à droite un textbox ?
Pas à ma connaissance, mais je ne garantirais pas que c'est impossible. Si
vous connaissez la taille du champ (en nombre de caractères), vous pourrez
jouer avec du javascript pour faire en sorte de rajouter des espaces avant
le contenu de la textbox, mais c'est pas top.

Sinon, une autre possibilité pour résoudre vos problèmes est de différencier
les contrôles servant à l'affichage de ceux servant à l'édition si c'est
possible. Un peu comme dans le datagrid qui utilise des labels, et si on
modifie une ligne, utilise des textbox.

--
Zazar