Bindingを用いたテキストのフォーマットを行いたい
VisualBasic (Visual Studio 2017 / .Net Framework4.0)にてVBの2008環境のプログラム移行を行っております。
その際、Bindingを用いたテキストのフォーマットが反映されなくなりました。
該当のソースコード
txtNum.DataBindings.Add(New Binding("Text", DBデータ, "NUM_DATA", True, DataSourceUpdateMode.OnValidation, String.Empty, "#,##0.00")) 'txtNumはMaskedTextBoxです
Form_LoadにてDBからのデータ取得と上記処理を行っております。
<<2008環境>>
NUM_DATA = 1500
の時のtxtNum.Textに出力される内容は
[1,500.00]
<<2017環境>>
NUM_DATA = 1500
の時のtxtNum.Textに出力される内容は
[1500]
試したこと
2008環境にて、上記処理のフォーマット指定パラメータをなくしたところ、フォーマットはされなくなりました。
このことから、2008環境ではBindingでのフォーマット指定が有効になっていると思われます。
またtxtNumはPowerPacks.DataRepeaterを用いて複数の出力を行っております。
dim strText as string strText = dataRepeater.CurrentItem.Controls("txtNum").text dataRepeater.CurrentItem.Controls("txtNum").text = String.Format("#,##0.00", CLng(strText))
このように直接フォーマット処理を行えばテキストは書き換わるのですが、
別のイベントが走ったタイミングでフォーマット前の状態に戻ってしまいます。
VisualStudioのバージョンでBindingの挙動が変わったりしたのでしょうか。
どなたかお知恵を拝借いただければ幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。