Aggiungere nodo ad una combo

venerdì 13 aprile 2007 - 15.33

a.cincischio Profilo | Newbie

Domanda al volo ragazzi.
E' possibile mettere una coppia di valori ad un nodo di una combo?
Per capirsi, una combo box con valore "Italia", dove me lo salvo il codice "IT"?

Il combobox.item.add accetta solo un parametro.

Grazie a tutti

freeteo Profilo | Guru

ciao,
la risposta è no,ma è presto risolvibile usando una classe (ed è il motvo percui tu puoi dare come datasource una collection di oggetti al combo e specificare il "DisplayMember" e il "ValueMenber".

Percui fa cosi', ti crei la tua classettina "Nazione":
private class Nazione { private string codice; public string Codice { get { return codice; } set { codice = value; } } private string descrizione; public string Descrizione { get { return descrizione; } set { descrizione = value; } } }

e poi riempi la combo passandogli na collection di "Nazione":

private void miaform_Load(object sender, EventArgs e) { List<Nazione> nazioni = new List<Nazione>(); Nazione naz = new Nazione(); naz.Codice = "IT"; naz.Descrizione = "Italia"; //....... riempi la lista con le altre... comboBox1.DataSource = nazioni; comboBox1.DisplayMember = "Descrizione"; comboBox1.ValueMember = "Codice"; }
Poi quando ti serve (ad esempio nel SelectedIndexChanged) ti ricasti l'oggetto e vedi cosa è stato scelto, avendo accesso a tutte le proprieta' che ti servono:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { Nazione scelta = comboBox1.SelectedItem as Nazione; if(scelta != null) .... }

mi smebra il modo piu' agile per farlo...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5