IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[VB .NET] Databinding problème de liaison


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Points : 10
    Points
    10
    Par défaut [VB .NET] Databinding problème de liaison
    VB .NET Version 2003
    Base Mysql 5.0



    bonjour à tous

    euh ... j'ai laissé un post sur le forum Mysql et je ne suis pas sûr que ce soit le bon endroit pour cela. donc je le remets ici.

    Voici mon problème.

    Je n'arrive pas à binder correctement un textbox dans une form.

    Voici la source

    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
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    UTILISATEUR = "Guy" 
    PASSWD = "nunki" 
    SERVEUR = "127.0.0.1" 
    Base = "Base" 
    If Connection() = True Then 
    Call charge() 
    End If 
     
    End Sub 
     
    Private Sub charge() 
    Source = "Select num from T_doss Limit 0,50" 
    Cmd.CommandText = Source 
    Cmd.Connection = conn 
    Adapt.SelectCommand = Cmd 
    Adapt.Fill(RS) 
    CurMGR = Me.BindingContext(RS, "table") 
    DataGrid1.SetDataBinding(RS, "table") 
    DS1.MappingName = "table" 
    TextBox1.DataBindings.Add("text", RS.Tables(0), "num") 
    End Sub 
     
    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click 
     
    CurMGR.Position = CurMGR.Position + 1 
     
    End Sub
    Le problème est que lorque je clique sur button1 le curseur se déplace bien dans le datagrid. Par contre le textbox reste figé sur la première valeur. Après avoir fait des recherches sur le net et dans les docs , je comprend pas . En plus que lorsque je modifie le textbox le dataset n'est pas modifié.

    Lassé de chercher, je m'adresse à ceux qui savent pour qu'il me dise où ça merdouille.


    Merci à tous.

  2. #2
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    Mon dieu, c'est au moins du VB2012 pour être aussi peu typé.
    A mon avis

    CurMGR = CType(Me.BindingContext(RS.Tables(0)), CurrencyManager)
    DataGrid1.SetDataBinding(RS.Tables(0))
    TextBox1.DataBindings.Add("Text", RS.Tables(0), "num")
    P.S : Merci d'utiliser les balises de codes dans vos questions

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Points : 10
    Points
    10
    Par défaut
    bonjour,


    je m'excuse pour les règles , je vais faire attention ....


    Ceci dit
    Je suis un nouveau venu en .NET.

    Mon dieu , non non , appelez moi , Beru ...tout simplement... 8) , c'est au moins du VB2012 pour être aussi peu typé. bah...j'avais déclaré les objets avant...A mon avis

    Citation:
    CurMGR = CType(Me.BindingContext(RS.Tables(0)), CurrencyManager)
    DataGrid1.SetDataBinding(RS.Tables(0)
    TextBox1.DataBindings.Add("Text", RS.Tables(0), "num")
    Là c'est OK.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CurMGR = CType(Me.BindingContext(RS.Tables(0)), CurrencyManager) 
    DataGrid1.SetDataBinding(RS.Tables(0),"") 
    TextBox1.DataBindings.Add("Text", RS.Tables(0), "num")
    Problème résolu. Merci.

    Cependant, j'ai une question.

    a priori quand vous mettez à jour un contôle par code , le dataset lui n'est pas mis à jour.
    Ex :

    supposons un label dont le membre text est lié au dataset

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Label1.DataBindings.Add("Text", RS.Tables(0), "num")  
     
    Label1.text="Valeur"
    le dataset n'est pas modifé.

    C'est normal où c'est encore moi qui patauge ?

  4. #4
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    En toute rigueur le Dataset devrait être mis à jour, par contre la source de données elle ne le sera pas.

  5. #5
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par Berurier
    bonjour,


    je m'excuse pour les règles , je vais faire attention ....

    Merci de les appliquer à ton premier message et d'éditer le titre


    A+

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par bidou
    En toute rigueur le Dataset devrait être mis à jour, par contre la source de données elle ne le sera pas.
    C'est ce que je pensais aussi !

    Pourtant si je mets à jour le dataset directement , le text du label est bien modifié , j'en conclus que la liaison est bien existante.

Discussions similaires

  1. Un problème de liaison entre deux datagriedvew en C# dot net
    Par Paradisma dans le forum Windows Forms
    Réponses: 2
    Dernier message: 26/09/2010, 14h15
  2. [Vb.Net]NumericUpDown et DataBinding : problème avec la valeur min
    Par SamRay1024 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 25/04/2006, 16h34
  3. [VB.NET] [Débutant] Probléme de variable dans les requettes
    Par Silvia12 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 07/03/2005, 13h13
  4. [VB.NET][DataBinding] Rafraichissement DataGrid lié à un obj
    Par speedy1496 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 21/10/2004, 10h15
  5. [.NET][GLUT] problème avec iostream
    Par polonain2 dans le forum OpenGL
    Réponses: 7
    Dernier message: 17/03/2004, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo