Bonjour à tous,
En Préambule, je précise : débutant...
J'alimente un propertygrid avec un fichier XML; tout se passe normalement.
L'objectif est de permettre à l'utilisateur, pour une propriété, le choix dans une liste en cas de création - modification, ou bien de saisir une valeur non encore répertoriée.
Bref le fonctionnement classique d'un combobox bindé.
Le problème se situe dans le chargement des valeurs proposées pour cette propriété; je n'obtiens toujours que la seule valeur lue dans mon fichier XML.
Mes recherches sur les forums n'ont rien donné...
Voici le code :
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
Imports System.ComponentModel
Imports System.ComponentModel.Design
Imports System.Drawing.Design
Imports System.Xml.Serialization
 
Public Class ListEvenement
    Inherits TypeConverter         'même comportement avec StringConverter
 
Public Overloads Overrides Function GetStandardValuesSupported( _
                    ByVal context As ITypeDescriptorContext) As Boolean
        Return True
    End Function
 
    Public Overloads Overrides Function GetStandardValues( _
                     ByVal context As ITypeDescriptorContext) _
                  As StandardValuesCollection
        Return New StandardValuesCollection(New String() {"test1", _
                                                          "test2", _
                                                          "test3"})
    End Function
 
    Public Overloads Overrides Function GetStandardValuesExclusive( _
               ByVal context As ITypeDescriptorContext) As Boolean
        Return False
    End Function
End Class
 
<Serializable()> _
Public Class Calendrier
 
Private VCalEvnt As String
 
    <TypeConverter(GetType(ListEvenement)), BrowsableAttribute(True), _
        Description("Nom de l'évènement"), Category("Evènement"), DisplayName("Evènement"), _
        Editor(GetType(MultilineStringEditor), GetType(UITypeEditor)), _
        XmlAttribute()> _
        Public Property CalEvnt() As String
        Get
            Return VCalEvnt
        End Get
        Set(ByVal value As String)
            VCalEvnt = value
        End Set
    End Property
Pour le chargement dans le formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Private Sub CalBS_CurrentChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CalBS.CurrentChanged
'PG = PropertyGrid  -  BS = BindingSource        
CalPG.SelectedObject = CalBS.Current
    End Sub
Si quelqu'un peut m'orienter... Merci d'avance