Я использую Infragistics UltraWinGrid
. В этой форме пользователь выбирает подэлементы определенного элемента.
В первой ячейке сетки пользователь может написать код или выбрать его, используя событие ClickCellButton
.
Событие click cell открывает форму, содержащую список элементов, из которых пользователь может выбрать один из них. Однако, если пользователь ввел значение самостоятельно, нам нужно проверить значение перед обновлением ячейки. Таким образом, мы используем событие BeforeCellUpdate
.
Если пользователь ввел недопустимое значение, мне нужно открыть эту форму и позволить ему выбрать.
Однако это приводит к ошибке:
Свойство значения не может быть назначено, пока происходит событие BeforeCellUpdate
Это мой код:
Select Case e.Cell.Column.Key.ToUpper
Case "SUBITMCODE"
vTempRS = SqlHelper.ExecuteDataset(clsConnection.gCon, CommandType.Text, "...").Tables(0)
If vTempRS.Rows.Count = 0 Then
Dim mfrmList As New frmList
Try
If Not mfrmList.LoadList( ... ) Is Nothing Then
e.Cell.Value = mfrmList.SelectedRows(0)("Code").ToString 'The ERROR is appearing on this line
mfrmList.Dispose()
e.Cancel = False
Exit Sub
Else
GoTo CodeNotFound
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End If
End Select
Символ ... обозначает определенное условие, которое я использую для проверки выбранного элемента.
Отмечая, что используется тот же вызов frmList
, и он отлично работает на ClickCellButton
событие.