Accueil > Forum > > > > Eliminer valeurs deja selectionnées lignes precedentes combobox dans Datagridview
Eliminer valeurs deja selectionnées lignes precedentes combobox dans Datagridview
mercredi 5 septembre 2012 à 17:06:41 |
Eliminer valeurs deja selectionnées lignes precedentes combobox dans Datagridview

zlordofhardstyle
|
Bonjour ,
je possède un datagridview dont une colonne est de type combobox . Ce combobox est remplit par des valeurs via une requête . je souhaite que , une fois une valeur du combobox est sélectionnée dans un row i , le combobox de la ligne suivante i+1 du datagrid n'obtiendra que les valeurs non sélectionnées avant .. c'est à dire , qu'il faut parcourir toutes les lignes précédentes , extraire les valeurs sélectionnées , et les stocker dans un tableau .. ou quelque shose de ce genre
Merci de m'aider
|
|
mercredi 5 septembre 2012 à 17:14:28 |
Re : Eliminer valeurs deja selectionnées lignes precedentes combobox dans Datagridview

jack
|
Salut
Et qu'as-tu écrit, essayé de faire ?
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
|
|
mercredi 5 septembre 2012 à 17:24:03 |
Re : Eliminer valeurs deja selectionnées lignes precedentes combobox dans Datagridview

zlordofhardstyle
|
ce que j'ai fait :
la procédure qui permet de charger le combobox :
Code Visual Basic : Public Sub verifier_article()
cn.Open()
Dim liste() As String
ReDim liste(ind)
For i = 0 To ind
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
ou ind est une variable initialisée à 0 et s'incremente à chaque ajout d'une nouvelle ligne du datagridview :
Code Visual Basic :
Private Sub DataGridView1_UserAddedRow(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowEventArgs)
ind = ind + 1
verifier_article()
End Sub
merci
|
|
mercredi 5 septembre 2012 à 18:37:36 |
Re : Eliminer valeurs deja selectionnées lignes precedentes combobox dans Datagridview
|
mercredi 5 septembre 2012 à 20:55:18 |
Re : Eliminer valeurs deja selectionnées lignes precedentes combobox dans Datagridview

zlordofhardstyle
|
bonsoir ,
merci de répondre
bon j'ai essayé un truc du genre :
Code Visual Basic :
Public Sub charger_article()
Dim listFirst As List(Of String) = New List(Of String)
Dim listSecond As List(Of String) = New List(Of String)
cn.Open()
Dim cmd As New SqlCommand
Dim dr As SqlDataReader
cmd.Connection = cn
cmd.CommandText = "select designationArticle from Article"
Dim Dgvc As New DataGridViewComboBoxCell
dr = cmd.ExecuteReader
If dr.HasRows Then
While dr.Read
listFirst.Add(dr(0))
' Dgvc.Items.Add(dr(0))
End While
End If
For i = 0 To DataGridView1.Rows.Count - 2
listSecond.Add(DataGridView1(1, i).Value)
Next
Dim different As IEnumerable(Of String) = listFirst.Except(listSecond)
Dgvc.Items.Add(different.ToList)
DataGridView1.Item(1, ind) = Dgvc
dr.Close()
cn.Close()
End Sub
mais à la sélection du combobox ça m'affiche : (Collection)
une idée ??
Merci
|
|
mercredi 5 septembre 2012 à 21:21:28 |
Re : Eliminer valeurs deja selectionnées lignes precedentes combobox dans Datagridview

jack
|
Perso, je ferais :
J'ajouterais toutes les références dans chaque Combo, comme ça, procédure standard
Dès qu'il y a saisie/choix dans une des Combo :
Boucle sur toutes les Combos :
Si ce n'est pas ma propre Combo, je supprime la référence sélectionnée de la Combo.
Pour supprimer une référence dans une Combo, il faudra peut-être encore une boucle sur tous les items et, dès que je l'ai trouvée, je la supprime.
Si la référence est unique dans la liste, je fais aussi un Exit For de la boucle, et je poursuis avec la première boucle des Combos.
|
|
mercredi 5 septembre 2012 à 22:05:20 |
Re : Eliminer valeurs deja selectionnées lignes precedentes combobox dans Datagridview

zlordofhardstyle
|
bonsoir ,
ta solution est possible , sauf que ça va prendre du temps , vu que je serais obligé de refaire tout le travail . Merci
Sinon , j'arrive bien à éliminer les valeurs trouvées , MAIS pas à la prochaine ligne
n + 1 , ça s'élimine à l'enregistrement n + 2 , donc la valeur peut être sélectionnée 2 FOIS .. je ne sais pas pourquoi .
REPOST Du code :
Code Visual Basic :
cn.Open()
Dim liste() As String
ReDim liste(DataGridView1.Rows.Count)
For i = 0 To DataGridView1.Rows.Count - 3
liste(i) = (DataGridView1(1, i).Value)
MsgBox(liste(i))
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
'listSecond.Add(dr(0))
Dgvc.Items.Add(dr(0))
End While
DataGridView1.Item(1, ind) = Dgvc
End If
dr.Close()
cn.Close()
la fonction est appelée au chargement du formulaire et à l’événement DataGridView1_UserAddedRow .
Merci
|
|
jeudi 6 septembre 2012 à 00:15:59 |
Re : Eliminer valeurs deja selectionnées lignes precedentes combobox dans Datagridview

zlordofhardstyle
|
voici comment ça donne .. Comme vous pouvez le constater , on a la possibilité de sélectionner une valeur deux fois , chose qui ne devrait pas être .
|
|
jeudi 6 septembre 2012 à 09:23:00 |
Re : Eliminer valeurs deja selectionnées lignes precedentes combobox dans Datagridview

zlordofhardstyle
|
Bonjour ,
peut être que je devrais pas faire appel à la fonction à l’événement USERADDEDROW .. ??
HELP
merci
|
|
Cette discussion est classée dans : combobox, lignes, valeurs, datagridview, eliminer
Répondre à ce message
Sujets en rapport avec ce message
DataGridView et ComboBox [ par HermesCB ]
HermesCB Bonjour à tous VB.NET 2008 Petit problème, j'ai créé un DataGridView avec un ComboBox incorporé dans une colonne, Ce ComboBox peu prendre p
combobox et datagridview [ par youma85 ]
salut, svp comment utiliser un combobox dans une datagridview et qu'est ce que je peux utilisé pour savoir que si une valeur du combobox a été chois
Update d'un datagrid en VB 2005/2008 [ par Cyclone ]
Salut à tous;j'utilise une datagridview connectée à une base de données access. Lorsque j'ajoute de nouveaux enregistrements, ou que j'en supprime, la
Combobox et source du graphique [ par pely ]
Bonjour, Dans un Userform, j'ai deux ComboBox qui prennent des valeurs (des mois) dans une colonne de mon tableau excel (feuille Extraction). Si j
COMBINER COMBOBOX [ par YVO22 ]
Bonsoir à tous,Je cherche à combiner deux combobox d'un userform pour exploitation dans excel.Dans le premier combobox, je voudrais pouvoir afficher d
Excel: suppression des doublons dans une colonne et copie de cellules [ par grossequiche ]
Bonjour à tous,Je cherche un coup de main pour automatiser la mise en forme d'un document excel. Peut-être une macro?Dans la colonne A il y a certaine
Nbre de Lignes dans un ComboBox [ par nagstef ]
Bonjour !!Je voudrais savoir s'il existe un moyen de déterminer le nombre de lignes affichées dans un combo ?Apparement, par défaut, c'est 8 !Existe-t
Probleme de datagridview (vb2005) [ par tbrault ]
Bonjour a tous. J'ai un petit probléme avec mon controle datagridview.En fait je souhaiterais savoir si il existe un moyen de masquer toutes les lign
Livres en rapport
|
Derniers Blogs
SIMULER FACILEMENT L'ENVOI DE MAILSIMULER FACILEMENT L'ENVOI DE MAIL par JeremyJeanson
il m'a été demandé, à plusieurs reprises, comment je faisais pour simuler l'envoi de mail lors de mes démos de Workflow Foundation. Ma solution est plutôt simple : j'utilise la configuration par défaut du SmtpClient et j'oriente les mails vers un dossier ...
Cliquez pour lire la suite de l'article par JeremyJeanson VOTEZ POUR LE TOP 10 DES INFLUENCEURS SHAREPOINT FRANCOPHONES !VOTEZ POUR LE TOP 10 DES INFLUENCEURS SHAREPOINT FRANCOPHONES ! par Patrick Guimonet
Si ce n'est déjà fait (comme plus de 600 personnes déjà), il est encore temps de voter pour le concours TOP 10 des influenceurs SharePoint francophones ! Il est organisé par harmon.ie et accessible ici : http://harmon.ie/top-...
Cliquez pour lire la suite de l'article par Patrick Guimonet [CONF'SHAREPOINT] DERNIER RAPPEL ! :-)[CONF'SHAREPOINT] DERNIER RAPPEL ! :-) par Patrick Guimonet
La Conf'SharePoint en chiffres c'est : 3 jours de SharePoint ! 4 parcours et 60 sessions 17 partenaires représentant toutes les fac...
Cliquez pour lire la suite de l'article par Patrick Guimonet [ #SHAREPOINT 2013 ] LES MODèLES DE SITES STANDARDS.[ #SHAREPOINT 2013 ] LES MODèLES DE SITES STANDARDS. par Patrick Guimonet
C'est un point peu mis en avant mais SharePoint 2013 a été l'occasion de remettre de l'ordre dans les modèles de sites. Tout d'abord, un certain nombre de modèles ont été tout simplement rendus obsolètes (cf. Fonctionnalités déco...
Cliquez pour lire la suite de l'article par Patrick Guimonet
Logiciels
Easy-Planning (4.5.0.11)EASY-PLANNING (4.5.0.11)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté a... Cliquez pour télécharger Easy-Planning CVEasy (3.1.0.51)CVEASY (3.1.0.51)PHMSD-CVEasy est un logiciel d'aide à la rédaction de CV d'une simplicité déconcertante.
PHMSD-C... Cliquez pour télécharger CVEasy LettresFaciles 2011 (8.6.0.31)LETTRESFACILES 2011 (8.6.0.31)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011 sDEVIS-FACTURES vlPRO (8.4.2.62)SDEVIS-FACTURES VLPRO (8.4.2.62)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO Devis-Factures PHMSD (2.1.0.11)DEVIS-FACTURES PHMSD (2.1.0.11)Configuration minimale
Nécessite Windows™ 2000, XP, Windows 7, 8, Vista (Service Pack à... Cliquez pour télécharger Devis-Factures PHMSD
|