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 1.1] Dataset, bindage et ListBox


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de toniolol
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2005
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 281
    Par défaut [VB 1.1] Dataset, bindage et ListBox
    Bonjour,
    j'ai affaire à un problème étrange...
    Tout d'abord j'ai une ListBox bindée sur une table d'un DataSet.
    Ensuite j'ai une fonction qui permet de déplacer les DataRows au sein de ma DataTable.
    Si j'ai les données 1, 2 et 3 dans l'ordre et que je décide de "remonter" le 3 pour avoir 1,3 et 2 ça fonctionne au sein de ma DataTable mais au niveau de ma ListBox il n'y à pas de changement.
    Si je recommence à "remonter" le dernier item j'ai dans ma DataTable à nouveau 1, 2 et 3 mais dans ma ListBox j'ai 1, 3 et 2.
    Je n'y comprend rien....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        With dsParcours.Arrets.Rows
                        Dim dr As DataRow = dsParcours.Arrets.NewRow()
                        dr.ItemArray = .Item(iIndex).ItemArray
                        .RemoveAt(iIndex)
                        .InsertAt(dr, iIndex - 1)
                    End With
    iIndex est l'index de la ligne sélectionnée dans la ListBox donc le même que dans la DataTable.
    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Ne serait-ce pas un simple souci de rafraichissement du contrôle ListBox (je pense à çà à cause du temps de retard dans l'affichage apparemment)
    donc utilises juste après un traitement un MonListBox.Update() pour tester

  3. #3
    Membre expérimenté Avatar de toniolol
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2005
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 281
    Par défaut
    Bizarrement non, j'ai essayé avec le refresh() aussi et rien ne change.
    Si je mets un messageBox entre le RemoveAt() et l'InsertAt() l'item en question disparaît bien de la ListBox mais quand il revient c'est en mauvaise position...
    Je vais quand même faire un WriteXML() entre chaque pour vérifier le contenu de ma table...

    Merci de m'avoir déplacé le sujet dans le bon forum...


    Edit : pas mieux avec le WriteXML(), le contenu du DataSet est OK...

  4. #4
    Membre expérimenté Avatar de toniolol
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2005
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 281
    Par défaut
    Re bonjour !
    Après une semaine de vacances me revoici avec le même problème...
    Pour palier ceci (temporairement) je "travaille en double" c'est à dire que je gère le DataSet en parallèle avec ma ListBox. En gros quand j'ajoute à l'un, je fais de même à l'autre et je ne binde rien...Pas propre...
    Voici ma nouvelle tentative :
    J'ai bindé un label avec le Rows.Count de mon DataSet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lblParNbArr.DataBindings.Add(New Binding("Text", dsParcours.Arrets.Rows, "Count"))
    et là le fonctionnement est bizarre...
    Si je place ce code de bindage après une opération (ajout ou chargement d'un XML) le contenu du label est OK mais si j'effectue une opération (ajout/suppression...) ce dernier ne change pas...
    Je ne vais pas débinder/binder sur chaque bouton...
    Est-ce que cela parle à quelqu'un ?
    Merci d'avance...

  5. #5
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Par défaut
    Je ne sais pas si le problème est vraiment similaire mais dans une ListBox bindé à un DataSet, je fais un filtre sur le DataSet. Pour que la ListBox soit mise à jour, je suis obligé de défaire le binding et de le refaire. Essaye cela pour voir.

  6. #6
    Membre expérimenté Avatar de toniolol
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2005
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 281
    Par défaut
    Merci je regarde cette piste car en effet j'effectue du filtrage.
    Ca semble marcher mais je suis obliger de rebinder à chaque fois que je modifie quelque chose...Bizarre

Discussions similaires

  1. [Débutant] Problème avec dataset pour remplir listbox
    Par lordsion dans le forum ASP.NET
    Réponses: 4
    Dernier message: 14/06/2011, 17h11
  2. [C#]ListBox, image et dataset
    Par Djekill dans le forum ASP.NET
    Réponses: 2
    Dernier message: 11/12/2006, 12h52
  3. Réponses: 8
    Dernier message: 01/12/2005, 11h40
  4. [C#] remplissage listBox avec un dataSet
    Par aymron dans le forum ASP.NET
    Réponses: 5
    Dernier message: 18/10/2005, 10h44
  5. [C#] DataSet ListBox filtre
    Par rellik dans le forum Windows Forms
    Réponses: 5
    Dernier message: 09/11/2004, 19h20

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