Affichage combobox

Signaler
Messages postés
92
Date d'inscription
mardi 6 janvier 2009
Statut
Membre
Dernière intervention
7 août 2016
-
Messages postés
92
Date d'inscription
mardi 6 janvier 2009
Statut
Membre
Dernière intervention
7 août 2016
-
Bonjour,
Comme vous povez remarquer les valeurs de la colonnes versement sont affichés d'une manniere horizontale.
http://im35.gulfup.com/4UqbK.png
Quand je veux les récupérer dans la combobox, j'aimerai qu'ils soient affichés d'une manniere verticale.
http://im36.gulfup.com/hPQNz.png
J'ai éssayé avec ce code mais il n'a pas marché.
ComboBox1.DataSource = ds.Tables("data")
Dim i As String
For Each item In ComboBox1.Items
i = i & item & vbCrLf

ComboBox1.DisplayMember = "versement" & i
Next

merci

19 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
229
Bonjour,
"Comme vous poUvez remarquer les valeurs de la colonne versement sont affichées d'une man ière horizontale".
on voit un affichage, mais on ne sait pas sur quoi, exactement !
Si tu peux récupérer ce qui parait être une chaîne de caractères, il te suffit de l'éclater sur l'espace (split) puis d'alimenter ta combo avec chaque item de l'array ainsi obtenu.
Messages postés
92
Date d'inscription
mardi 6 janvier 2009
Statut
Membre
Dernière intervention
7 août 2016

Merci pour la réponse
Voila ce j'ai mis comme code mais ça na pas marché.
dt = ds.Tables("data")
ComboBox1.DataSource = dt
ComboBox1.DisplayMember = "versement"

Dim index As Integer = ComboBox1.Items.Count - 1
Dim dr As DataRow = dt.Rows(index)
Dim strValeur As String = dr.Item("versement").ToString
Dim arStr() As String = strValeur.Split(" ")

ComboBox1.Items.AddRange(arStr)
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
49
Bonjour
Dim itemvers() As String
For Each line As DataRow In dt.Rows
itemvers = line("versement").ToString.Split
For Each item As String In itemvers
ComboBox1.Items.Add(item)
Next
Next
Messages postés
92
Date d'inscription
mardi 6 janvier 2009
Statut
Membre
Dernière intervention
7 août 2016

Merci pour votre intéret mais je reçois ce message:

Impossible de modifier la collection d'éléments lorsque la propriété DataSource est définie.
j'ai éssayé d'ajouter
dt.Clear() 
et
dt = Nothing
mais toujous le meme message d'érreur.
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
49
comment tu remplis ta dt ?
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
229
Une combo liée est par définition liée (et ne peut donc être modifiée)
Je t'avais posé une question quant au contrôle dont tu donnais (dans un lien une image).
Cette question est restée sans réponse !
Je crois maintenant comprendre qu'il s'agissait ni plus ni moins quede ta fameuse combobox liée !
Tu tournes là en rond et la seule solution est un affichage dans une autre combobox (non liée, elle) à partir des résultats de la première, hein ...
A moins, bien entendu d'alimenter directement ta combobox (mais non liée, dans ce cas) en traitant les données lues là où elles sont lues !
Je crains que tout cela ne soit finalement que la conséquence d'une erreur de conception résultant de l'absence ou de la carence d'utilisation d'une modélisation des données. Et tu en es maintenant à du "bidouillage" de "rattrapage" ...
Voilà.
Messages postés
92
Date d'inscription
mardi 6 janvier 2009
Statut
Membre
Dernière intervention
7 août 2016

comment tu remplis ta dt ?
 Dim Conn As New OleDbConnection(ConStr)
SavInto.Connection = Conn
SavInto.CommandType = CommandType.Text
Conn.Open()
Dim s As String = String.Empty

For i = 0 To ComboBox1.Items.Count - 1
s += ComboBox1.Items(i).ToString() + " "
Next

SavInto.CommandText = "INSERT INTO tblContacts(nom,prenom,age, versement)" & _
"values ('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & s & "') "
SavInto.ExecuteNonQuery()

Conn.Close()
Messages postés
92
Date d'inscription
mardi 6 janvier 2009
Statut
Membre
Dernière intervention
7 août 2016

Je t'avais posé une question quant au contrôle dont tu donnais (dans un lien une image).
Cette question est restée sans réponse !

Quelle question?
Messages postés
92
Date d'inscription
mardi 6 janvier 2009
Statut
Membre
Dernière intervention
7 août 2016

Tu tournes là en rond et la seule solution est un affichage dans une autre combobox (non liée, elle) à partir des résultats de la première, hein ...

Avec une deuxième combobox ça marche très bien mais je voulais pas avoir une deuxième combobox
Je ne sais pas s'il y'a un moyen ou non..
Messages postés
92
Date d'inscription
mardi 6 janvier 2009
Statut
Membre
Dernière intervention
7 août 2016

Je crains que tout cela ne soit finalement que la conséquence d'une erreur de conception résultant de l'absence ou de la carence d'utilisation d'une modélisation des données. Et tu en es maintenant à du "bidouillage" de "rattrapage"
Excusez moi j'ai pas compris.
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
49
ton code ne contient aucun dataset


mieux vaut lire le cours et comprendre les bases que de copier
des bouts de code sans les comprendre

http://plasserre.developpez.com/cours/vb-net/?page=bases-donnees2
Messages postés
92
Date d'inscription
mardi 6 janvier 2009
Statut
Membre
Dernière intervention
7 août 2016

je suis désolé je me suis trompé. je t'ai recopie le mauvais code.

Dim cb As New OleDb.OleDbCommandBuilder(da)
Dim dsNewRow As DataRow
dsNewRow = ds.Tables(0).NewRow()
dsNewRow.Item("nom") = TextBox1.Text
dsNewRow.Item("prenom") = TextBox2.Text
dsNewRow.Item("age") = TextBox3.Text
dsNewRow.Item("versement") = ComboBox1.Items(0)
For i = 1 To ComboBox1.Items.Count - 1
dsNewRow.Item("versement") = dsNewRow.Item("versement") & " " & CStr(ComboBox1.Items(i))
Next
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
229
1) Voilà ce à quoi tu n'as jamais répondu :
"on voit un affichage, mais on ne sait pas sur quoi, exactement ! "
2) "Avec une deuxième combobox ça marche très bien mais je voulais pas avoir une deuxième combobox
Je ne sais pas s'il y'a un moyen ou non..
"
Une autre fois : tu ne peux modifier les items d'une combobox liée !
3) Ton "Excusez moi j'ai pas compris" (à propos de la conception :
Tout ton problème semble être la conséquence de la présence de plusieurs données dans un même champ. Et cela, c'est la conception ...
Messages postés
92
Date d'inscription
mardi 6 janvier 2009
Statut
Membre
Dernière intervention
7 août 2016

Merci beaucoup de votre aide et merci pour le lien.
Messages postés
92
Date d'inscription
mardi 6 janvier 2009
Statut
Membre
Dernière intervention
7 août 2016

Pour l'affichage: c'ést une table access.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
229
Si c'est bien cela (visualisation d'une table access), voilà qui conforte ce que je ne cesse de te dire : plusieurs données dans un seul champ (le champ "versement") met en exergue une défaillance de conception (modélisation des données).
Cet aspect-là n'a rien à voir avec le développement en soi, dont il n'est qu'une étape liminaire.
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
49
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
229
Bonjour, cs_ShayW
En effet ! Et il n'a pas compris ou n'a pas voulu en tenir compte.
Mais il ne s'agit plus, à ce niveau, de développement, mais de méthode de modélisation (MCD).
A lui de s'intéresser, donc, à des méthodes telles MERISE, qui n'ont absolument rien à voir avec le développement ni (par voie de conséquence) avec quelque langage de développement (VB ou autre) que ce soit.
Bonne nuit.
Messages postés
92
Date d'inscription
mardi 6 janvier 2009
Statut
Membre
Dernière intervention
7 août 2016

Merci à vous tous je suis entrain de lire le tuto que vous m'avez proposé.
Et je viens d'apprendre des choses intéressants.
Merci et bonne nuit