Bonjour,
Je cherche à formater un textbox ("nourrit" par un Dataset) au format : 1 2345,67
C'est à dire : séparateur de millier, 2 décimals.
A cette heure, mon Textbox a cette tête : 123456,78912345 !! pas cool à lire dans un TextBox..!
Merci bcp !
Bonjour,
Je cherche à formater un textbox ("nourrit" par un Dataset) au format : 1 2345,67
C'est à dire : séparateur de millier, 2 décimals.
A cette heure, mon Textbox a cette tête : 123456,78912345 !! pas cool à lire dans un TextBox..!
Merci bcp !
bonjour,
Une des réponse est : {0:N}
Tu trouveras de plus amples info sur :http://msdn2.microsoft.com/fr-fr/lib...cc(VS.80).aspx
bonne journée
En fait, voici ma ligne de code :
TextBox1.Text = (String.Format("{0:N}", DataBindings.Add("text", MonDataSet, "MaTable.MonChamp")))
Mais la valeur obtenue dans mon TextBox est : System.Windows.Forms.Binding
Je bug un peu.. je séche.., je trouve pas ! A l'aiideeee !!!
Il ne faut pas alimenter la propriété text, mais juste ajouter une liaison de données (databinding) qui elle se chargera de ton texte.
Il ne faut pas alimenter la propriété text, mais juste ajouter une liaison de données (databinding) qui elle se chargera de ton texte.
--- edit ---
Eventuellement, pour formatter
C'est juste une idée non testée, so beware...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 textbox.text = (String.Format("{0:N}", textbox.text)
j'ai peut être pas bien compris ce que tu veux faire, mais apparemment c'est un masque de saisie en gros. A ce moment là, au lieu d'une textbox, utilise le controle MaskedTextBox dans la boite à outil de Visual Studio (si tu utilises VS bien sur). Tu peux configurer tes propres masques.
Ben non.. ca marche pas.
L'idée est que je cherche à donner un "format" à mon Textbox quand le résultat de mon Binding arrivera..
eh bien tu peux donner un format un MaskedTextBox
Tu tiens vraiment à avoir la virgule?
car sinon tu peux arrondir ton nombre.
et si tu veux garder la virgule tu peux truander en faisant comme cela
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Dim un As Integer = 1.2 Decimal.Round(un) MsgBox(un.ToString())
et on obtient alors 5.25 pour celui ci. Après tu peux reconvertir en Decimal.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Dim nombre As Decimal = 5.256987 Dim chaineNombre As String = nombre.ToString() chaineNombre = chaineNombre.Split(",").GetValue(0) + "," + _ chaineNombre.Split(",").GetValue(1).ToString().Substring(0, 2)
A ce moment là, tu devras peut-etre remplacer la virgule par un point je sais pas
Bonjour,
Regarde dans l'aide l'événement binding.format.
Peut-être que cela peut t'aider.
Bon boulot
Jean
euh !! et ...Envoyé par marcusien
... tout simplement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Dim nombre As Decimal = 5.256987 TextBox.Text = nombre.toString("0.00")
Bon et bien je vais devoir capituter ! Si quelqu'un à une lumière.. Qu'il n'hésite pas
A bientôt.
il faut travailler sur l'évènement format de la liaison. Dans mon exemple, la liaison du textbox à la source existe déjà dans le concepteur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO : cette ligne de code charge les données dans la table 'Bd3DataSet.Table1'. Vous pouvez la déplacer ou la supprimer selon vos besoins. Me.Table1TableAdapter.Fill(Me.Bd3DataSet.Table1) AddHandler ValeurTextBox.DataBindings(0).Format, AddressOf FormatNum End Sub Private Sub FormatNum(ByVal sender As Object, ByVal cevent As ConvertEventArgs) cevent.Value = Format(cevent.Value, "Standard") End Sub
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager