Валюта форматирования (U.S) не работает с данными из базы данных Sql Server - PullRequest
0 голосов
/ 25 марта 2012

У меня есть код, который связывает данные из базы данных с текстовыми полями.Проблема в том, что я хочу, чтобы в одном из текстовых полей Оплата использовался знак доллара.

Я попытался отформатировать его, как показано в коде ниже, но форматируется только первая запись, остальные делаютне.Когда я нажимаю следующую кнопку, знак доллара исчезает.

Вот часть кода:

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: Малые деньги .

Буду очень признателен за любые идеи!

Спасибо всем.

1 Ответ

0 голосов
/ 25 марта 2012

Причина, по которой вышеприведенный код не работает, заключается в том, что код запускается только один раз при загрузке формы.

Таким образом, решение состоит в том, чтобы либо изменить код на это:

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

И это все!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...