2

データセットにデータバインドされた DevExpress TextEdit があります。

このフィールドはオプションのパーセンテージ (データ型 double) です。

レコードがロードされ、フィールドに値がない場合、すべて問題ありません。

ただし、フィールド (IE 100) に何かを入力した後でそれを削除しようとすると、無効な値、エラーが発生します。

これはなぜ発生し、どうすれば削除できますか?

このフィールドには、マスクや明示的な検証はありません。

4

1 に答える 1

4

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))
于 2010-03-30T12:59:38.197 に答える