Formattare un campo in DataBinding

Vi sarà sicuramente capitato di avere una textbox in DataBinding con un campo di un qualche tipo di oggetto.
Come cambiare il formato di visualizzazione del dato nella textbox?

Beh, se utilizzate un vostro Business Object direi che avete pieno controllo e la domanda non si pone...forse.

Dico forse perchè potrebbe sempre nascere la possibilità di formattare il dato in un particolare formato e solo in una particolare textbox (o chi per lei).

Insomma, come risolvere questo (fastidioso ) problema?

Io ho risolto in questo modo (altri metodi sono ben accetti):

Dim Mybinding as new System.Windows.Forms.DataBinding
Mybinding = 
New Binding("Text", me.bindingsource1, "Prezzo")
textdatfield.DataBindings.Add(Mybinding)
AddHandler mybinding.FormatAddressOf FormattaValuta

Considerando di fare databinding direttamente ad un oggetto BindingSource (nome assolutamente mnemonico bindingsource1 ), sul campo "Prezzo".

Successivamente la funziona FormattaValuta, richiamata sull'evento Format del DataBinding sarà:

Private Sub FormattaValuta(ByVal sender As Object, _
ByVal cevent As ConvertEventArgs)
    
If Not cevent.Value Is system.DBNull.Value Then
        
cevent.Value = string.format("{0:c}",cevent.value)
    
End If
End Sub

In questo modo il vostro sarà formattato come currency, per maggiori dettagli consultate qui o, specificatamente per i numeri, qui.

Ciao!

powered by IMHO 1.3

Print | posted @ giovedì 6 aprile 2006 20:53

Comments on this entry:

Gravatar # re: Formattare un campo in DataBinding
by Igor Damiani at 06/04/2006 20:55

OmarDamiani++;
Comments have been closed on this topic.