2013-06-20 5 views
0

Как получить значение null в datagridview Я сделал это в событии проверки ячейки, но он, похоже, работает. Я хочу, чтобы пользователь добавил новую строку, и кто-то заставил его дать идентификатор или удалить строку. Что я делаю не так. Это не вопрос. Это то, что не так. Вопрос. Так что прямо сейчас он обнаруживает нуль, но как только я исправил ячейку, которую он до сих пор дозволяет, позвольте мне выйти из строки.Null Value для datagridview cell vb.net

  If DataGrid.CurrentCell.ColumnIndex = 0 Then 
     If IsDBNull(DataGrid.CurrentCell.Value) Then 
      Msgbox("Cannot be Null") 
       e.cancel = true 
     ElseIf Not IsDBNull(DataGrid.CurrentCell.Value) Then 
       e.cancel = False 

     End If 
    End If 

ответ

1

Так я попробовал это, и это работает для меня. он просто использует e.formatedvalue. Current Cell Value - значение ячейки до и после редактирования, а formatedvalue - это то, что набирается. я думаю, теперь я понимаю, так вот кодирование

   If grdDataGrid.CurrentCell.ColumnIndex = 2 Then 
     If e.FormattedValue = "" Or IsDBNull(e.FormattedValue) Then 
      MsgBox("Cannot be Null") 
      e.Cancel = True 
      Exit Sub 

     End If 
    End If 

Они также различные способы, как регулировать свои свойства столбцов не допускаются нулевой, но так как свойства столбцов наследуют из базы данных я решил использовать это.

+1

А .. Я не заметил этого .. – matzone

0

Я думаю, что это должно быть работает ...

If DataGrid.CurrentCell.ColumnIndex = 0 Then 
    If IsDBNull(DataGrid.CurrentCell.Value) Then 
      Msgbox("Cannot be Null") 
      e.cancel = true 
      exit sub 
    End If 
End If 
+0

По-прежнему то же самое после того, как я исправил ячейку, добавив значение, которое я все еще не могу оставить в строке из-за e.cancel. Вот почему я добавил его elseif. Но могу ли я поместить его на проверку ячейки? –

+0

@shaikibrahim .. вы положили это в событие, вызывающее cellvidating? – matzone

+0

да я сделал, и он все еще не решит проблему –

0

Другим способом, связанным с этим, было бы явно установить значение null по умолчанию для новой ячейки datagrid для значения, которое вы проверяете. Например, установите null = в пустую строку, если вы вытаскиваете строковые значения. Вы можете использовать палитру свойств, чтобы установить это.

+0

Хотя это может быть действительным ответ, вы можете показать код для того, что вы пытаетесь объяснить. – rfornal