2011-07-21 23 views
0

Visual Studio 2008でVB.netを使用しています。現在、GridControlには列の1つがデータベースから実数をフェッチしています。値を削除しようとするたびに、入力文字列が適切な形式ではないという赤い 'X'が表示されます。下の行がその列のNULL値をフェッチしたため、nullを表示できます。下の図を参照してください。Devexpress(10.2)GridControlはNULL列に値を入力しません。

enter image description here

私はテキストエディットに列のColumnEditを設定して、Trueに、それはallowNullInputだ設定することでこれを解決しようとしました。さらに同じ問題

+0

実際に値がNULLであることは肯定的ですか?あなたが言うように、それは下の列でそれを行うことができるからです。 – msarchet

+0

@マーシェット。私はちょうどcellvaluechangingの中で、値を何も設定しないでください。同じ問題。 – Kyra

答えて

3

グリッド列のParseEditValueイベントを処理します。

Imports DevExpress.XtraEditors.Repository 

Public Class Form1 
    Public WithEvents Edit As RepositoryItemTextEdit 

    Public Sub Form1() 
     Edit = GridView1.Columns("myColumn").ColumnEdit 
    End Sub 

    Private Sub Edit_ParseEditValue(sender As Object, e As DevExpress.XtraEditors.Controls.ConvertEditValueEventArgs) Handles Edit.ParseEditValue 
    If IsNothing(e.Value) Or (Not (e.Value Is Nothing) And String.IsNullOrEmpty(e.Value.ToString)) Then 
     e.Value = DBNull.Value 
    End If 
    End Sub 
End Class 
+0

VB.Netでこれを行う方法を知っていますか。 My GridView.Columns ["fieldName"]。ColumnEditにはParseEditValueが含まれていないため、このイベントはプロパティに表示されません。 – Kyra

+0

@Kyra - 上記のVB.Netへの変換を試してください。私はVB.Netのルーキーですので、事前に申し訳ありません! – Armbrat

+0

ありがとう! :D偉大な働いた。 If If IsNothing(e.Value)Or(Not(e.Value Is Nothing)、String.IsNullOrEmpty(e.Value.ToString))Then '= 'を使用できないため、または '<>'を使用して何も比較しないでください。ありがとうございました:D – Kyra

関連する問題