Я застрял в ситуации, когда мне нужно отключить несколько столбцов в каждой строке, за исключением недавно добавленной строки.Создание уникальных столбцов UltraWinGrid только для чтения
То есть, у меня есть 10 столбцов в сетке, и первые 3 столбца являются привязкой к базе данных и поступают из базы данных как отключенные или только для чтения. Остальные редактируются.
Если я добавляю новую строку, то все столбцы новой строки должны быть включены до ее сохранения.
У меня нет никакого DataKey или первичного ключа для моей существующей строки или новой строки. Я должен проверить некоторое логическое значение, например IsNewRow
.
В моем текущем сценарии я использую этот блок кода:
Private Sub dgTimeSheet_InitializeRow(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeRowEventArgs) Handles dgTimeSheet.InitializeRow
''if either column key is Project, Class or Milestone
'' Activation.NoEdit = Disable and Activation.AllowEdit = Enable
Dim index As Integer = e.Row.Index
If e.Row.IsAddRow Then
dgTimeSheet.Rows(index).Cells(PROJECT).Activation = Activation.AllowEdit
dgTimeSheet.Rows(index).Cells(SERVICE_ISSUE_CLASS).Activation = Activation.AllowEdit
dgTimeSheet.Rows(index).Cells(MILESTONE).Activation = Activation.AllowEdit
Else
dgTimeSheet.Rows(index).Cells(PROJECT).Activation = Activation.NoEdit
dgTimeSheet.Rows(index).Cells(SERVICE_ISSUE_CLASS).Activation = Activation.NoEdit
dgTimeSheet.Rows(index).Cells(MILESTONE).Activation = Activation.NoEdit
End If
CheckRows()
End Sub
Проблема заключается в том, что если я нажимаю на инвалидах/только для чтения строк, а затем вновь добавленные строки также отключаются, что я не хотеть.