Bonjour,
je fais face depuis quelques jours à une erreur ArgumentException :
"Impossible d'effectuer une liaison à la propriété ou la colonne Commentaire sur le DataSource. Nom du paramètre : dataMember"
Je vous explique le contexte.

J'ai une classe un Module
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
 
Public Class UnModule
    Private _EstReference As Boolean
    Private _GUIDModule As String
    Private _Commentaire As String
    Private _Identifier As String
    Public Property EstReference() As String
        Get
            Return _EstReference
        End Get
        Set(ByVal value As String)
            _EstReference = value
        End Set
    End Property
    Public Property GuidModule() As String
        Get
            Return _GUIDModule.ToString
        End Get
        Set(ByVal value As String)
            _GUIDModule = Guid.NewGuid().ToString
        End Set
    End Property
    Public Property Commentaire() As String
        Get
            Return _Commentaire.ToString
        End Get
        Set(ByVal value As String)
            _Commentaire = value
        End Set
    End Property
    Public Property Identifier() As String
        Get
            Return _Identifier
        End Get
        Set(ByVal value As String)
            _Identifier = value
        End Set
    End Property
End Class
J'ai déclaré cette classe comme objet base de donnée. Puis dans un Formulaire "Form2" j'ai fait glisser l'ensemble de ces "champs" sur le formulaire ce qui m'a automatiquement créé un BindingSource (UnModuleBindingSource) et un BindingNavigator (UnModuleBindingNavigator)

J'alimente cette BindingSource par un dataset lui même alimenté par un fichier XML.

Le code est le suivant :
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
Imports System
Imports System.Xml
Imports System.Data
Imports DataSetWithXML.UnModule
 
Public Class Form2
    Private Fichier As String
    Private Ds As New DataSet("MesModules")
 
    Private Sub Form2_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        UnModuleBindingSource.DataSource = recup("MesModules")
    End Sub
 
    Private Function recup(ByVal oFichier As String) As DataView
 
        Dim _XmlDoc As New XmlDocument
 
        'Chargement du fichier de données
        _XmlDoc.Load(oFichier + ".xml")
 
        'lecture du schéma XML par chacun des noeuds
        Dim Xnr = New XmlNodeReader(_XmlDoc)
        Ds.ReadXml(Xnr)
 
        Dim tables As DataTableCollection = Ds.Tables
        Dim view1 As New DataView(tables(0))
 
        Return view1
 
    End Function
 
    Private Sub UnModuleBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Ds.WriteXml("MesModules.xml")
    End Sub
 
End Class
Si je fais glisser sur le formulaire mes "champs" depuis l'objet source de données "UnModule" en tant que "DataGridView" je n'ai pas l'erreur par contre si je le fais en tant que "Détails" là cette erreur apparait.


Précision : En supprimant la liaison du contrôle CommentaireTextBox au "champ" Commentaire de l'objet "UnModule" le formulaire se charge bien.

Si par code je rajoute la liaison alors cela ne fonctionne plus !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Me.CommentaireTextBox.DataBindings.Add("text", UnModuleBindingSource, "Commentaire")
Je ne sais pas du tout comment m'en sortir, j'ai déjà pas mal fouillé sur le net et sur les forums sans succès. Je précise que bien sûr j'ai absolument besoin d'avoir le mode détails.

Merci d'avance.