.net combobox affecter valeur suite selection
sebcbien81
Messages postés
17
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
je developpe sous visual express 2010 en vb.net (je débute).
j'ai une form qui contient une combobox me permettant de sélectionner un pays parmi la liste proposée :
exemple : Allemagne, Angleterre, Japon...(soit plus de 220 pays)
La pays selectionné me permettra de renvoyer un code pays correspondant :
exemple : "DE" pour "Allemagne"
J'ai déja pensé à If ou Select Case mais c'est long à coder car on doit taper les conditions pour chaque pays.
j'aurais souhaité coller dans mon code directement les correspondances comme présentées ci dessous et y faire référence par un code mais je ne sais pas comment faire :
Allemagne = DE
Angleterre = UK
Espagne = ES
...
D'avance merci
je developpe sous visual express 2010 en vb.net (je débute).
j'ai une form qui contient une combobox me permettant de sélectionner un pays parmi la liste proposée :
exemple : Allemagne, Angleterre, Japon...(soit plus de 220 pays)
La pays selectionné me permettra de renvoyer un code pays correspondant :
exemple : "DE" pour "Allemagne"
J'ai déja pensé à If ou Select Case mais c'est long à coder car on doit taper les conditions pour chaque pays.
j'aurais souhaité coller dans mon code directement les correspondances comme présentées ci dessous et y faire référence par un code mais je ne sais pas comment faire :
Allemagne = DE
Angleterre = UK
Espagne = ES
...
D'avance merci
A voir également:
- Youppie.net
- Net framework 2.0 - Télécharger - Divers Utilitaires
- Paint net - Télécharger - Dessin & Illustration
- Net framework 4.0 - Télécharger - Divers Utilitaires
- Onoffapp net - Forum Vos droits sur internet
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
2 réponses
Lu'
Tu peut essayer de faire un tableau de correspondance.
Tu créer une table pays
Dim pays as string(DE,FR,UK,...)
Dim pays_selectionner as string
Ensuite tu test la valeur de ta combo
pays_selectionner = pays(combobox.Items)
Essaye pour voir
Tu peut essayer de faire un tableau de correspondance.
Tu créer une table pays
Dim pays as string(DE,FR,UK,...)
Dim pays_selectionner as string
Ensuite tu test la valeur de ta combo
pays_selectionner = pays(combobox.Items)
Essaye pour voir
borisdu
Messages postés
1939
Statut
Membre
230
Le plus simple serait de passer par une Base de donnée
Bonjour,
Tant qu'à faire, pourquoi ne pas bien faire ?
Enfin si le travail ne t'effrait pas, il y a l'option de créer
une ComboBox multi-colonnes dans laquelle tu pourra
insérer ton code de Pays, il sera de ce fait, facilement
récupérable lors de la sélection.
Voici ici pour la fabrication :
https://olsimare.developpez.com/articles/vbnet/combobox/multicolumncombobox/
Cdt
Lupin
Tant qu'à faire, pourquoi ne pas bien faire ?
Enfin si le travail ne t'effrait pas, il y a l'option de créer
une ComboBox multi-colonnes dans laquelle tu pourra
insérer ton code de Pays, il sera de ce fait, facilement
récupérable lors de la sélection.
Voici ici pour la fabrication :
https://olsimare.developpez.com/articles/vbnet/combobox/multicolumncombobox/
Cdt
Lupin
re:
Je viens de tester à l'instant sous .NET 2008
et il ne te sera pas nécessaire de dérivé le combobox standard.
tu pourras jouer avec la propriété [ValueMember] versus la propriété [DisplayMember].
Avec cette option, tu devrais résoudre facilement.
Cdt
Lupin
Je viens de tester à l'instant sous .NET 2008
et il ne te sera pas nécessaire de dérivé le combobox standard.
tu pourras jouer avec la propriété [ValueMember] versus la propriété [DisplayMember].
' Constructeur du formulaire Public Sub New() ' Cet appel est requis par le Concepteur Windows Form. InitializeComponent() ' Ajoutez une initialisation quelconque après l'appel InitializeComponent(). Dim dt As New DataTable dt.Columns.Add("C1") dt.Columns.Add("C2") dt.Columns.Add("C3") dt.Rows.Add("") dt.Rows.Add("ID1", "PasAffiché1", "Affiché1") dt.Rows.Add("ID2", "PasAffiché2", "Affiché2") dt.Rows.Add("ID3", "PasAffiché3", "Affiché3") dt.Rows.Add("ID4", "PasAffiché4", "Affiché4") Me.cbx_Perso.DataSource = dt Me.cbx_Perso.ValueMember = "C1" Me.cbx_Perso.DisplayMember = "C3" Me.cbx_Perso.DropDownStyle = ComboBoxStyle.DropDown End Sub ' ' Évènement du combobox Private Sub cbx_Perso_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbx_Perso.SelectedIndexChanged Dim strTexte As New System.Text.StringBuilder Dim dv As DataRowView = CType(Me.cbx_Perso.SelectedItem, DataRowView) strTexte.AppendLine("Valeur affichée du combo = " & Me.cbx_Perso.Text) strTexte.AppendLine("Valeur réelle du combo = " & Me.cbx_Perso.SelectedValue.ToString()) strTexte.AppendLine("Objet selectionnée du combo = " & Me.cbx_Perso.SelectedItem.ToString) strTexte.AppendLine("Contenu : Col1 = " & dv(0).ToString & " - Col2 = " & dv(1).ToString & " - Col3 = " & dv(2).ToString) MessageBox.Show(strTexte.ToString) End Sub '
Avec cette option, tu devrais résoudre facilement.
Cdt
Lupin