Combobox

cs_ymrabet Messages postés 15 Date d'inscription lundi 30 avril 2007 Statut Membre Dernière intervention 11 janvier 2015 - 10 janv. 2015 à 00:01
 luminex - 12 janv. 2015 à 20:20
Bonjour,

J'ai un DataGridView1.Rows qui contient des valeurs en doublons, j'aimerai les importer dans un Combobox sans les doublons

je n'arrive pas à complter le compte ci-dessous:

Dim j As Integer
For j = 0 To DataGridView1.Rows.Count - 1

combobox1.Text = DataGridView1.Rows(j).Cells(5).Value

If combobox1...........????? = -1 Then
choix_age_1.Items.Add(DataGridView1.Rows(j).Cells(5).Value)
End If
Next j

merci de votre aide

2 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 10/01/2015 à 10:30
Bonjour,
Tu as ouvert cette discussion dans le forum général Visual Basic et nous ne savons donc pas sous quel VB tu développes (VB6, VB.Net, VBA ?) ...

Et précise le nom de ta combo, car on voit dans ton code un coup Combobox1 et un coup choix_age_1 ...

PS : et quel que soit ton outil de développement ===>>
Dans quelles circonstances des doublons se trouvent-ils dans la datagridview ? Pourquoi ne sont-ils pas éliminés AVANT ?
Comment et à partir de quoi cette Datagridview est-elle donc remplie ?

Pourquoi ces questions ? Tout simplement parce je pense que tu as rempli cette datagridview à l'aide d'une requête qui, elle, n'élimine pas les doublons éventuels. C 'est cette requête, qu'il te faudrait alors revoir, de sorte que le recordset en résultant ne contienne pas ces doublons.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
0
if not combobox1.items.contains(valeur) then combobox1.items.add(valeur)
0
cs_ymrabet Messages postés 15 Date d'inscription lundi 30 avril 2007 Statut Membre Dernière intervention 11 janvier 2015
10 janv. 2015 à 19:18
Merci bcp, ca marche tres bien,
si me permets avec un tri croissant
Merci de ton aide...
0
luminex > cs_ymrabet Messages postés 15 Date d'inscription lundi 30 avril 2007 Statut Membre Dernière intervention 11 janvier 2015
Modifié par luminex le 12/01/2015 à 20:34
Si c'est simplement pour trier alphabetiquement en ascendant, alors tu peux utiliser la propriete Sorted du combobox.
Combobox1.Sorted = True

Sinon il faut creer une interface IComparer.
Exemple pour trier dans le sens descendant :

Option Strict On
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim valeurs As New List(Of String) From {"banane", "citron", "ananas", "navet"}
valeurs.Sort(New Tri)
ComboBox1.Items.AddRange(valeurs.ToArray)
End Sub
End Class

Public Class Tri
Implements IComparer(Of String)

Public Function Compare(ByVal x As String, ByVal y As String) As Integer Implements System.Collections.Generic.IComparer(Of String).Compare
If x < y Then
Return 1
ElseIf x = y Then
Return 0
Else
Return -1
End If
End Function
End Class
0
Rejoignez-nous