Newsgroup: it.comp.lang.visual-basic
Titolo: [VB.NET] Combobox ValueMember DisplayMember

Buonasera a tutto il newsgroup!
da ieri sono passato al .net e sono un pò in crisi...
per questo chiedo aiuto per delle lucidazioni..
Effettuo un combobox binding in questo modo:
code:
        'Collego i controlli ai campi del database
        ComboBox1.DataSource = dsLocazione
        ComboBox2.DataSource = dsLocazione
        ComboBox1.DisplayMember = ("Vie.Nome")
        'ComboBox1.ValueMember = ("Vie.Nome")
        ComboBox2.DisplayMember = ("Città.Nome")
        'ComboBox2.ValueMember = ("Città.Nome")
        ComboBox1.DataBindings.Add("SelectedItem", dsLocazione, "Vie.Nome")
        ComboBox2.DataBindings.Add("SelectedItem", dsLocazione,
"Città.Nome")
Ora il mio dataset contiene 2 tabelle.. una città e una vie.. la tabella
città contiene il campo nome e la tabella città contiene il campo nome,
targa e cap.
Questo codice l'ho trovato nel sito della microsoft e poi adattato alle
mie esigenze...
Quello che volevo chiedervi è quando scrivo questo...
code:
        ComboBox1.DisplayMember = ("Vie.Nome")
        ComboBox1.ValueMember = ("Vie.Nome")
...cosa sto facendo?? è brutta da dire ma non capisco cosa sto facendo
e non mi piace imparare così..
la mia interpretazione è questa:
il primo è il valore del campo da visualizzare, il secondo il valore del
campo.. quindi per esempio nel displaymember metto il nome da
visualizzare e nel valuemember metto il valore di quel campo per esempio
l'ID.
Se questa mia teoria è giusta come faccio poi a vedere per esempio
collegando all'evento SelectedIndexChanged un msgbox il valore ed il
nome del campo selezionato???
Grazie mille a tutti anticipatamente! 

 nome del campo selezionato???
Questo so che funziona di sicuro!
cbDati.DataBindings.Add(New System.Windows.Forms.Binding("SelectedValue",
Me.dataSet1, "
agenti.id
"))
cbDati.DataBindings.Add(New System.Windows.Forms.Binding("SelectedItem",
Me.dataSet1, "agenti.descrizione"))
cbDati.DisplayMember = "descrizione"
cbDati.ValueMember = "id"
cbDati.DataSource = dataSet1.Tables("agenti")
Sub CbDatiSelectedIndexChanged(ByVal sender As Object, ByVal e As
System.EventArgs)
Dim s As String = ""
s = Me.cbDati.SelectedValue.ToString + " " + Me.cbDati.Text
MessageBox.Show(s)
End Sub
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Grazie mille chiarissimo...
un altro dubbio..
Ho un modulo ed un form.. per riferirmi agli oggetti nel form dal modulo
ho provato in questo modo ma non funziona...
 
        Dim form1 As New Form1()
        form1.TextBox1.Text = "CIAO"
Dove sbaglio??
grazie mille!

 grazie mille!
Un modulo vb diventa una classe con tutti i membri statici, se
dall'interno di questo devi poter accedere alla textbox la form deve
passarlo come parametro al modulo oppure creare un main fuori dalla form
che definisce la form1 ad un livello più alto oppure definire un campo /
metodo pubblico all'interno della form1 
La migliore secondo me che ti organizzi di passare la textbox come
parametro.


ma se ho molti controlli diventa molto incasinato passargli tutti questi
controlli la modulo..
Non c'è un modo tipo vb6... form1.textbox.text="Ciao"      per far questo???
Io il modulo come contenitore delle mie funzioni, variabili pubbliche ecc per
avere un pò più di ordine..
sbaglio secondo te a far questo??
Volendo con il .net posso usare REGION..
cosa mi consigli??
Grazie mille