質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

Visual Basic .NET

Microsoft Visual Basic .NET (VB.NET)とはオブジェクト志向のプログラム言語です。 Microsoft"s Visual Basic 6 のバージョンアップとしてみることができますが、Microsoft.NET Frameworktによって動かされています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

1回答

2183閲覧

VB(2017)でのBindingを用いたテキストのフォーマット

t-yoshi

総合スコア12

VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

Visual Basic .NET

Microsoft Visual Basic .NET (VB.NET)とはオブジェクト志向のプログラム言語です。 Microsoft"s Visual Basic 6 のバージョンアップとしてみることができますが、Microsoft.NET Frameworktによって動かされています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

2クリップ

投稿2019/04/03 06:36

編集2019/04/03 06:41

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の挙動が変わったりしたのでしょうか。

どなたかお知恵を拝借いただければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

解決しました。

どうやら、BindingクラスとDataRepeaterの組み合わせ時に不具合が発生する可能性があるみたいです。

この記事の内容が関係しているかもしれません。

https://social.msdn.microsoft.com/Forums/en-US/310ba0d2-f919-445d-8e22-c38305bc1cd0/datarepeateritemtemplatecontrolstextbox-formatting-issue?forum=vbpowerpacks

PowerPacksを9⇒10に変えたら問題なくフォーマットもされるようになりました。

皆様もお気をつけください。

投稿2019/04/24 02:57

t-yoshi

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問