Bonjour,
dans le cadre d'un autre topic, je suis en train de créer un DataGridViewTextBoxColumn personnalisé que j'ai appelé DataGridViewStarRateColumn
Ca commence comme ça :
S'ensuit donc une classe DataGridViewStarRateCell qui hérite de DataGridViewTextBoxCell
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Public Class DataGridViewStarRateColumn Inherits DataGridViewTextBoxColumn Private _starwidth As Integer = 20 Private _starheigth As Integer = 20 Public Sub New() Me.CellTemplate = New DataGridViewStarRateCell() End Sub
Dans cette classe DataGridViewStarRateCell , j'ai besoin de définir une propriété StarHeight que je souhaiterais paramétrable par l'utilisateur dans le designer
Comme les propriétés de DataGridViewStarRateCell ne sont pas directement accessibles dans le designer, je passe donc par les propriétés de DataGridViewStarRateColumn qui, elles, le sont. Donc j'ai défini la propriété suivant dans la classe DataGridViewStarRateColumn :
Grâce à ça, je peux définir dans le designer la propriété StarHeight en même temps que j'opte pour le type DataGridViewStarRateColumn
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <Category("Design")> <Description("Largeur de l'étoile")> Public Property StarWidth() As Integer 'Property that corresponds with the 'starswidth variable Get Return _starwidth End Get Set(ByVal value As Integer) _starwidth = value End Set End Property
Maintenant, il faut que je récupère la valeur de cette propriété dans le code de ma classe DataGridViewStarRateCell.
Si vous m'avez suivi jusque là, vous aurez compris qu'il n'y a pas de lien d'héritage entre DataGridViewStarRateCell et DataGridViewStarRateColumn
DataGridViewStarRateCell hérite de DataGridViewTextBoxCell
DataGridViewStarRateColumn hérite de DataGridViewTextBoxColumn
Mais j'ai besoin de transmettre l'une des propriétés de DataGridViewStarRateColumn à DataGridViewStarRateCell
J'ai essayé ceci qui me paraissait logique, mais ça plante carrément l'exécution :
Quelqu'un peut-il me dépanner ? Je suis encore très novice en matière de POO même si cela fait déjà un an que je code en VB.NET
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Public Class DataGridViewStarRateColumn Inherits DataGridViewTextBoxColumn Private _starwidth As Integer = 20 Private _starheigth As Integer = 20 Public Sub New() Me.CellTemplate = New DataGridViewStarRateCell(_starheigth) End Sub ... End Class Public Class DataGridViewStarRateCell Inherits DataGridViewTextBoxCell Private _starheigth As Integer Public Sub New(toto as integer) _starheigth = toto End Sub .. End Class
Partager