Bonjour,
J'écris ce message car je n'arrive pas à binder une proriété d'une classe à un contrôle de type Textbox.
J'ai suivi plusieurs tutoriels et je dois forcément être passé à côté de quelque chose car rien n'y fait...
Voici les classes impliquées :
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 Public Class Parties Inherits List(Of Partie) Public Overloads Function Find(ByVal id As Integer) As Partie For Each elem As Partie In Me If elem.Id = id Then Return elem End If Next Return Nothing End Function End Class Public Class Partie Private _id As Integer Public Property Id As Integer Set(value As Integer) _id = value Me.Status = e_status.Updated End Set Get Return _id End Get End Property Private _ordre As Integer Public Property Ordre As Integer Set(value As Integer) _ordre = value Me.Status = e_status.Updated End Set Get Return _ordre End Get End Property Private _textes As Textes Public Property Textes As Textes Set(value As Textes) _textes = value Me.Status = e_status.Updated End Set Get Return _textes End Get End Property Public Property Status As e_status Public Enum e_status As Integer UpToDate = 1 Created = 2 Updated = 3 End Enum Public Sub New(ByVal id As Integer, ByVal ordre As Integer, ByVal textes As Textes) 'ByVal nom As String Me.Id = id Me.Ordre = ordre Me.Textes = textes Me.Status = e_status.UpToDate End Sub Public Sub New(ByVal ordre As Integer, ByVal textes As Textes) 'ByVal nom As String Me.Ordre = ordre Me.Textes = textes Me.Status = e_status.Created End Sub End ClassDans l'application, j'instancie donc un objet de type Parties dans lequel je place des objets de type Partie lesquels contiennent un objet de type Textes qui lui-même est contient 2 objets de type Texte.
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 Public Class Textes Inherits List(Of Texte) Public Overloads Function Find(ByVal language As Integer) As Texte For Each elem As Texte In Me If elem.Language = language Then Return elem End If Next Return Nothing End Function End Class Public Class Texte Public Property Texte As String Public Property Language As Integer Public Property Version As Integer Public Sub New(ByVal texte As String, ByVal language As Integer, ByVal version As Integer) Me.Texte = texte Me.Language = language Me.Version = version End Sub End Class
Sur mon formulaire, j'ai un datagridview qui a pour source de données l'objet de type Parties. Ca, ça marche ^^.
A côté de ce controle, il y a 2 textbox. Une pour le texte en français et une pour le texte en néerlandais. C'est la donnée qui est contenu dans chacun des objets Texte.
Ce que je voudrais, c'est que lorsque l'on choisit une ligne dans le datagridview, le texte associé s'affiche dans la TextBox appropriée.
Vous trouverez un screenshot en pièce jointe. Il sera p-e plus explicite.
L'écran se divise donc en 3 (liste, détail et création). Quand je choisis un item dans liste, je veux afficher le détail.
J'y arrive "manuellement" mais je dois alors forcer l'utilisateur à cliquer sur un bouton pour que les modifications apportées soient reportées dans l'objet en mémoire. Si j'ai bien compris, avec le databinding, cela se fait automatiquement.
C'est ce à quoi je voudrais arriver pour pouvoir retirer les boutons "Annuler les modifications" et "Valider les modifications".
Merci d'avance.
Griftou.
Partager