Bonjour,

Je créer des datagridviewcolumn personalisées (%, date, booleen) et les datagridviewcell qui vont avec.

Dans le cas de la colonne qui fait des progressbar pour les données pourcentage, je voudrais créer plusieurs rendu en fonction des propriétés de la datagridviewcell.

Et pour cela j'ai fait un constructeur New() de la datagridviewcell AVEC des paramètres. Il est bien appelé quand je construis la colonne, mais le constructeur New() SANS paramètre est quand même appelé plus tard dans l'exécution et semble écrasé le précédent.



J'ai donc créé une datagridviewpercentcell héritée de datagridviewtextboxcell, avec des propriétés supplémentaires:

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
22
23
24
25
26
27
 
Public Class DatagridviewProgressCell
    Inherits DataGridViewTextBoxCell
 
    Public Property TwoColors As Boolean = False
    Public Property PositiveAndDefaultColor As Color = Color.Green
    Public Property NegativeColor As Color = Color.Red
 
    Public Sub New()
        ValueType = Type.GetType("Double")
    End Sub
    Public Sub New(ByVal TwoColors As Boolean)
        ValueType = Type.GetType("Double")
        Me.TwoColors = TwoColors
    End Sub
 
    Public Overrides sub paint blahblah...
        Paint blah blah
        if TwoColors = True then
            DoThat
        Else
            DoThis
        End If
    end sub
Public Overrides sub getformattedvalue blahblah...
 
End Class
La construction fonctionne mais ne prendra jamais en compte le constructuer paramétré. Les valeurs initiales des propriétés sont toujours utilisée...


une idée?
merci,

Zebrette