2012-03-25 39 views
0

我有一個代碼將數據庫中的數據綁定到文本框。問題是我想使其中一個文本框付款使用美元符號。格式化貨幣(美國)不能使用Sql Server數據庫中的數據

我試着格式化它,如下面的代碼所示,但只有第一個記錄得到格式化,其餘不。當我點擊下一個按鈕時,美元符號消失了。

下面是部分代碼:

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

我已經嘗試了一切,我知道,FormatCurrency但沒有運氣。

付款是數據庫中列的名稱,SQL Server中的數據類型是 小錢

我真的很感激任何想法!

謝謝大家。

回答

0

上述代碼無法正常工作的原因是因爲代碼在表單加載時僅觸發一次。

因此,解決方法是將代碼改成這樣:

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 

而這它!