- - PR -
数値型をソースとするTextBoxに一旦入れた後空白にしたい
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-01-09 14:03
Visual Studio 2008にして解決するのであれば
どなたか教えてください。 | ||||
|
投稿日時: 2008-01-09 21:11
ValidateChildren()の前にTextBoxが空白かチェックして
空白だったらTextBoxに0を入れてprivate変数のフラグを立て ValidateChidren()とEndEdit()した後 private変数のフラグが立っていたら bindingSourceをDBNull.Valueにして TextBoxを空白に戻すという方法を思いつきました。 うまく行くかもしれません。 明日やってみます。 [ メッセージ編集済み 編集者: island_town 編集日時 2008-01-09 21:12 ] | ||||
|
投稿日時: 2008-01-10 07:02
ValidateChildren は、内包するコントロールの Validating イベントを呼び出し、一つでも FALSE だったら FALSE を返します。
であるなら、すべての Validating イベントにブレーク ポイントを設定して、なにが FALSE になっているのか確認してみては? | ||||
|
投稿日時: 2008-01-10 09:30
Jittaさん、ValidateChildren()はコードに書いたことの他に
編集したフィールドの型チェックも行っているみたいで そこでエラーになるみたいなのです。 | ||||
|
投稿日時: 2008-01-10 09:33
うまく行きました。コードを載せます。
なお数値型の型チェックのみのValidatingは ErrorProviderを表示するために行っております。 [ メッセージ編集済み 編集者: island_town 編集日時 2008-01-10 11:17 ] | ||||
|
投稿日時: 2008-01-10 11:03
抜けてました。
ValidateChildren()がfalseを返した時に 0に置き換えたTextBoxを空白に戻してから return;する必要があります。
[ メッセージ編集済み 編集者: island_town 編集日時 2008-01-10 11:23 ] | ||||
|
投稿日時: 2008-01-10 11:06
うわあっベテランさんになってしまったあ〜。
常連さんでいいのに〜 失礼しました。 [ メッセージ編集済み 編集者: island_town 編集日時 2008-01-10 11:06 ] | ||||
|
投稿日時: 2008-01-10 13:07
TextBoxの(DataBindings)の(詳細)から
形式の種類-数字を選んで小数点以下の桁数を指定し Null値に適当な文字を入れると その文字がNullとして認識されるようです。 ただし空白は駄目なようです。 |