2016-04-21 9 views
0

У меня есть настройка gridview в DevExpress, так что когда я хочу добавить элемент в сетку, у меня появится форма редактирования. Я хочу проверить данные, которые я ввожу во всплывающую форму.Как проверить данные, введенные во всплывающем окне из gridview в devexpress

Я использую метод ValidatingEditor, потому что я хочу, чтобы убедиться, что столбцы, которые являются числовыми полями, принимают только цифру и столбцов, которые принимают строковые поля, принимает только строку.

Я пытаюсь сделать, чтобы получить доступ к значению, отредактированный делая это:

gvTaxes.ActiveEditor.EditValue.ToString() 

Так это будет

Private Sub gvTaxes_ValidatingEditor(sender As Object, e As BaseContainerValidateEditorEventArgs) Handles gvTaxes.ValidatingEditor 

    Dim strCurrentValue As String 

    If Not IsDBNull(gvTaxes.ActiveEditor.EditValue.ToString()) Then 

     strCurrentValue = gvTaxes.ActiveEditor.EditValue.ToString() 

    End If 

я получаю исключение NullReferenceException из «, если ' линия. Есть идеи.

ответ

0

использование e.Value.ToString() вместо gvTaxes.ActiveEditor.EditValue.ToString():

If Not IsDBNull(e.Value.ToString()) Then 

    strCurrentValue = e.Value.ToString() 

End If 
0

Попробуйте этот код в gvTaxes_ValidatingEditor:

Dim view As GridView = TryCast(sender, GridView) 
    Dim d As Double 
    Dim strCurrentValue As String 
    If view.FocusedColumn.FieldName = "YourColumnName" Then 

     If Not Double.TryParse(Convert.ToDouble(e.Value).ToString(), d) Then 
      e.Valid = False 
      e.ErrorText = "the input value is invalid !" 
     Else 

      strCurrentValue = e.Value.ToString() 
     End If 
    End If