.net combobox affecter valeur suite selection

sebcbien81 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
 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





A voir également:

2 réponses

borisdu Messages postés 1824 Date d'inscription   Statut Membre Dernière intervention   230
 
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   Statut Membre Dernière intervention   230
 
Le plus simple serait de passer par une Base de donnée
0
Utilisateur anonyme
 
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
Utilisateur anonyme
 
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