2012-03-25 10 views
0

データベースのデータをテキストボックスにバインドするコードがあります。問題は、テキストボックスの1つを作成することですお支払いドル記号を使用します。Sql Serverデータベースのデータを使用して通貨(US)をフォーマットしない

私は以下のコードのようにフォーマットしようとしましたが、最初のレコードのみがフォーマットされ、残りはフォーマットされません。次のボタンをクリックすると、ドル記号が消えました。私が知っている他のすべて、FormatCurrencyが、運を試してみました

bs = New BindingSource(ds, ds.Tables(0).TableName) 
Me.txtPayment.DataBindings.Add("Text", bs, "Payment") 
Me.txtPayment.Text = Format(CType(txtPayment.Text, Decimal), ("c")) 

:ここ

は、コードの一部です。

支払いはデータベース内の列の名前で、SQL Serverのデータ型は 小銭です。

本当にありがとうございます。

ありがとうございました。

答えて

0

上記のコードがうまくいかなかったのは、フォームが読み込まれたときにコードが1回だけ起動したためです。

だから、解決策はこれにコードを変更するのいずれかにある:

Me.txtPayment.DataBindings.Add("Text", bs, "Payment", True, 
DataSourceUpdateMode.OnPropertyChanged, 0, "c") 

またはこのように、テキストの変更イベントにコードの以下のセクションを配置する:

Private Sub txtPayment_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtPayment.TextChanged 
     Me.txtPayment.Text = Format(CType(txtPayment.Text, Decimal), ("c")) 
End Sub 

そして、それはですそれ!

関連する問題