Je suis bloqué dans une situation où je dois désactiver quelques colonnes dans chaque ligne, à l'exception de la ligne nouvellement ajoutée.Création d'infragistics Colonnes spécifiques UltraWinGrid Lecture seule
En d'autres termes, j'ai 10 colonnes dans la grille et les 3 premières colonnes sont databound et proviennent de la base de données en tant que désactivées ou en lecture seule. Le reste est modifiable.
Si j'ajoute une nouvelle ligne, toutes les colonnes de la nouvelle ligne doivent être activées jusqu'à ce qu'elle soit enregistrée.
Je n'ai aucune clé DataKey ou clé primaire pour ma ligne existante ou la nouvelle ligne. Je dois vérifier une valeur booléenne comme IsNewRow
.
Dans mon scénario actuel, je me sers de ce bloc de code:
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
Le problème est que si je clique sur les handicapés/en lecture seule des lignes, puis les nouvelles lignes ajoutées obtiennent également désactivé, que je ne suis pas vouloir.