Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ComboBox personalizzata

13 views
Skip to first unread message

tott...@gmail.com

unread,
Nov 17, 2015, 8:01:15 AM11/17/15
to
Buongiorno,
avete mai personalizzato una ComboBox tale da avere (p.e.) 2 returnValue ?

Per spiegarmi meglio:

data la tabella "materie" avente:
- un campo univoco auto-increment (id)
- un campo descrittivo (descrizione_materia)
- un campo di riferimento al docente (codice_docente)

data una ComboBoxDocenti (nome_docente,id_docente)

Se avessi una CB con 2 returnValue, alla selezione della materia potrei selezione il corrispondente item della CBDocenti...... il tutto x non fare un dataReader, etc.etc

E' follia ciò che chiedo ?

Alessio

Kan

unread,
Nov 17, 2015, 8:33:43 AM11/17/15
to
Ciao,
puoi bindare la combo ad una collection di oggetti
e poi usare la proprietà SelectedItem
per ottenere l'elemento selezionato:
Es:

class docente
{
public int id { get; set; }
public string nome { get; set; }

public docente(int id, string nome)
{
this.id = id;
this.nome = nome;
}
}

// crea la lista dei docenti
var list = new System.Collections.Generic.List<docente>();
list.Add(new docente(1, "nome 1"));
list.Add(new docente(2, "nome 2"));

// binda la combobox
comboBox1.ValueMember = "id";
comboBox1.DisplayMember = "nome";
comboBox1.DataSource = list;

// ottiene il docente selezionato
var item = comboBox1.SelectedItem as docente;

tott...@gmail.com

unread,
Nov 17, 2015, 9:12:09 AM11/17/15
to
Mi sono espresso male,
io, selezionando la materia (dalla CBMateria) vorrei ottenere la tua var Item per l'automatica selezione del docente

Alessio
p.s grazie x la solerte risposta

Kan

unread,
Nov 19, 2015, 8:24:50 AM11/19/15
to
Puoi usare lo stesso metodo: bindi la combo ad una collection di oggetti
di tipo materia.
Oppure, senza bindare, puoi caricare i singoli oggetti materia nella
combo con qualcosa tipo "combo.Items.Add(new materia(nome_materia,
id_decente))".
Comunque, la proprietà SelectedItem ti restituisce l'oggetto caricato
nell'item: se ci hai caricato una stringa, ti restituisce la stringa, se
ci hai carica un oggetto, ti restituisce un oggetto (con le sue proprietà).

0 new messages