.net combobox affecter valeur suite selection

Fermé
sebcbien81 Messages postés 14 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 2 septembre 2011 - 2 sept. 2011 à 16:37
 Utilisateur anonyme - 2 sept. 2011 à 19:27
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





A voir également:

2 réponses

borisdu Messages postés 1824 Date d'inscription samedi 24 décembre 2005 Statut Membre Dernière intervention 27 octobre 2014 229
2 sept. 2011 à 16:46
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
0
borisdu Messages postés 1824 Date d'inscription samedi 24 décembre 2005 Statut Membre Dernière intervention 27 octobre 2014 229
2 sept. 2011 à 16:46
Le plus simple serait de passer par une Base de donnée
0
Utilisateur anonyme
2 sept. 2011 à 19:13
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
0
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].


' 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
0