データセットにデータバインドされた DevExpress TextEdit があります。
このフィールドはオプションのパーセンテージ (データ型 double) です。
レコードがロードされ、フィールドに値がない場合、すべて問題ありません。
ただし、フィールド (IE 100) に何かを入力した後でそれを削除しようとすると、無効な値、エラーが発生します。
これはなぜ発生し、どうすれば削除できますか?
このフィールドには、マスクや明示的な検証はありません。
データセットにデータバインドされた DevExpress TextEdit があります。
このフィールドはオプションのパーセンテージ (データ型 double) です。
レコードがロードされ、フィールドに値がない場合、すべて問題ありません。
ただし、フィールド (IE 100) に何かを入力した後でそれを削除しようとすると、無効な値、エラーが発生します。
これはなぜ発生し、どうすれば削除できますか?
このフィールドには、マスクや明示的な検証はありません。
DevExpressフォーラムのBrendonMuckの助けを借りて、これを解決しました。
私のテキストエディットの1つは、EditValueではなくTextプロパティにバインドされていました(すべてEditValueにバインドする必要があります)
また、ブレンドンごと
テキストエディットコントロールからテキストを削除しても、フィールドはNULLに設定されません。EditValueChangedイベントを処理し、空の文字列が検出されたときに値を手動でnullに設定する必要があります。
だから、私はそれを処理するためのメソッドを作成しました
Private Sub SetTextEditToNull(ByVal sender As TextEdit)
If String.IsNullOrEmpty(sender.EditValue.ToString.Trim()) And (Not sender.EditValue Is DBNull.Value) Then
sender.EditValue = DBNull.Value
End If
End Sub
そして、私のイベントハンドラーでは、次のものを使用します。
SetTextEditToNull(CType(sender, TextEdit))