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

VB.NET Discussion :

Parcourir Tableau Dynamique


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 97
    Par défaut Parcourir Tableau Dynamique
    Bonjour,

    J'essaie de parcourir un tableau dynamique à une seule dimension , qui est normalement remplit par des valeurs sélectionnées du combobox au niveau d'un DATAGRIDVIEW .. si une nouvelle ligne du DATAGRIDVIEW est ajoutée , le combobox ne devrait contenir aucun de ces valeurs . j'ai essayé de faire ça :

    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
    Public Sub charger_article()
            cn.Open()
            Dim liste() As String
            ReDim liste(DataGridView1.Rows.Count + 1)
            For i = 0 To DataGridView1.Rows.Count - 1
                liste(i) = DataGridView1(1, i).Value
            Next
            Dim cmd As New SqlCommand
            Dim dr As SqlDataReader
            cmd.Connection = cn
            cmd.CommandText = "select designationArticle from Article where designationArticle not IN '" & liste() & "'"
            Dim Dgvc As New DataGridViewComboBoxCell
            dr = cmd.ExecuteReader
            If dr.HasRows Then
                While dr.Read
                    Dgvc.Items.Add(dr(0))
                End While
                DataGridView1.Item(1, ind) = Dgvc
            End If
            dr.Close()
            cn.Close()
        End Sub
    mais apparemment , la requête ne devrait pas être comme ça ..


    Aidez-moi , merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    String.Join(maliste)

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 97
    Par défaut
    bonjour ,

    j'ai essayé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     cmd.CommandText = "select designationArticle from Article where designationArticle not IN ('" & String.Join(",", liste) & "')"

    mais j'obtiens toujours les mêmes valeurs même s'elles sont déja séléctionnées ..

    Help Please

  4. #4
    Membre éclairé Avatar de Magistross
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2009
    Messages : 18
    Par défaut
    Et si t'essayais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd.CommandText = "select designationArticle from Article where designationArticle not IN ('" & String.Join("','", liste) & "')"
    Tu aurais donc une liste du genre 'Toto','Tutu','Tata' au lieu d'avoir 'Toto,Tutu,Tata'. (Ce qui expliquait pourquoi ça ne marchait pas)

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 97
    Par défaut
    oui ça marche

    Merci

    Bonne Journée

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 97
    Par défaut
    ah , une dernière chose ... la valeur s'affiche sur deux lignes avant qu'elle disparaisse dans la 3ème ligne ...


    ci joint vous trouverez une capture d’écran qui illustre ce problème ..
    je ne c'est pas d'où ça parvient ..

    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
     
    Public Sub verifier_article()
            cn.Open()
            Dim liste() As String = New String(DataGridView1.Rows.Count - 2) {}
            For i = 0 To DataGridView1.Rows.Count - 2
                liste(i) = DataGridView1(1, i).Value
            Next
            Dim cmd As New SqlCommand
            Dim dr As SqlDataReader
            cmd.Connection = cn
            cmd.CommandText = "select designationArticle from Article where designationArticle not IN ('" & String.Join("','", liste) & "')"
            Dim Dgvc As New DataGridViewComboBoxCell
            dr = cmd.ExecuteReader
            If dr.HasRows Then
                While dr.Read
                    Dgvc.Items.Add(dr(0))
                End While
                DataGridView1.Item(1, ind) = Dgvc
            End If
            dr.Close()
            cn.Close()
        End Sub
    la procédure est invoquée dans l’événement DataGridView1_UserAddedRow ; le moment de l'ajout d'une nouvelle ligne .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     Private Sub DataGridView1_UserAddedRow(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowEventArgs) Handles DataGridView1.UserAddedRow
            verifier_article()
            ind = ind + 1
        End Sub
    la variable 'ind' est déclarée et initialisée à 0 . elle indique le RowIndex du datagrid et est incrementée à chaque ajout d'une nouvelle ligne pour charger le combobox dans la ligne dont son index est de 'ind' .


    Merci de m'aider
    Images attachées Images attachées  

  7. #7
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2
    Par défaut
    ça pourrai t'aider
    [ame="http://www.youtube.com/watch?v=XGs8gsrbF78"]tuto : vb.net ; tableau dynamique ajouter supprimer modifier redimensionner enregistrer - YouTube[/ame]

Discussions similaires

  1. Parcourir un tableau dynamique
    Par Montor dans le forum Contribuez
    Réponses: 0
    Dernier message: 03/12/2009, 11h36
  2. parcourir un tableau dynamique dans une structure
    Par brunolekid dans le forum C
    Réponses: 4
    Dernier message: 23/10/2009, 15h24
  3. Parcourir un tableau dynamique
    Par KiraX10A dans le forum Débuter
    Réponses: 14
    Dernier message: 24/09/2009, 10h39
  4. [Kylix] tableau dynamique
    Par sdoura2 dans le forum EDI
    Réponses: 1
    Dernier message: 31/10/2002, 08h57
  5. Réponses: 4
    Dernier message: 13/05/2002, 16h43

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