J'ai hérité de DataGridViewTextBoxCell car j'ai besoin d'ajouter une propriété personnalisée.Substitution de DataGridViewTextBoxCell et de CellPainting
Lors de l'exécution après la création de l'instance de DataGridView et de lier les données que je fais ce qui suit:
For k As Integer = 0 To grid.Columns.Count - 1
grid.Columns(k).AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader
If k > 0 Then grid.Columns(k).CellTemplate = New CustomCell()
Next
avec la tentative d'ajouter à chaque colonne différente de la première du CustomCell.
Le problème est que quand j'attache à l'événement CellPainting de la grille et ne
If e.ColumnIndex < 0 OrElse e.RowIndex <= 0 Then Return
Dim grid As DataGridView = TryCast(sender, DataGridView)
If grid Is Nothing Then Return
If grid.Columns.Count < e.ColumnIndex OrElse grid.Rows.Count < e.RowIndex Then Return
Dim cell As CustomCell = TryCast(grid(e.ColumnIndex, e.RowIndex), CustomCell)
If cell Is Nothing Then Return
le type cellulaireest de type jamais CustomCell mais il reste DataGridViewTextBoxCell.
Avez-vous une idée de la façon dont je peux résoudre ce problème?
Je travaille avec VS2008 et Framework 3.5
J'ai regardé l'article, intéressant, mais cela ne résout pas mon problème. Je ne veux pas ajouter une colonne personnalisée mais seulement cusotmize le DataGridViewTextBoxCell en ajoutant quelques propriétés – Drake