Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [VB.NET] Problema con combo

    Ho una combo che mi estrai dei nomi da un dataset.

    Per fare c'ho ho scritto

    Me.cmbIstruttore.DataSource = istruttore.DS
    Me.cmbIstruttore.DataMember = istruttore.Tabella.TableName
    Me.cmbIstruttore.DisplayMember = istruttore.Tabella.Columns("Nominativo").ToString
    Me.cmbIstruttore.ValueMember = istruttore.Tabella.Columns("IDistruttore").ToStrin g

    Dove DisplayMember è il nome dell'istruttore in questo caso
    e
    ValueMember è l'ID con cui è stato salvato nel DB

    Fino a qui tutto funziona, però ho un problema sul ValueMember

    Se aggiungo una textbox e al cambio del valore della combo gli faccio assumere il valore di "cmbIstruttore.ValueMember", invece di restituirmi il valore dell'IDistruttore mi scrivo proprio a parola IDistruttore

    Private Sub cmbIstruttore_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbIstruttore.SelectedIndexChanged
    Me.EditBox2.Text = Me.cmbIstruttore.ValueMember
    End Sub

    Come posso risolvere questo problema????

    Ciao e grazieeeeeee
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    La proprietà ValueMember l'hai inizializzata correttamente con il nome dal campo da cui il controllo deve estrarre il valore da attribuire a ciascun elemento, quindi se leggi quella proprietà otterrai questa informazione: il nome del campo di cui sopra.

    Vedi la proprietà SelectedValue che restituisce il valore dell'elemento selezionato e probabilmente fornisce il dato che ti interessa.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3

    Ok

    Ok grazieeeeeeeeeeeeee

    If cmbIstruttore.SelectedIndex <> -1 Then
    EditBox1.Text = cmbIstruttore.SelectedValue.ToString()
    End If

    Ora funziona

    Ciao e grazieeeeeeeeee
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  4. #4

    Adesso

    Adesso però devo fare l'operazione inversa

    Nel DB ho salvato il famoso IDistruttore

    Ora quando lo leggo mi deve dare il rispettivo "Nominativo"

    Nella classe ho questa funzione

    Public Sub popolacampi(ByRef NomeCorso As String, ByRef IDIstruttore As String)
    NomeCorso = FieldValue("NomeCorso") & ""
    IDIstruttore = FieldValue("IDIstruttore") & ""
    End Sub

    che mi passa i dati ad un textbox ed una combo nella form

    Private Sub GridExCorsi_RowSelectedValue(ByVal CodeRead As Integer) Handles GridExCorsi.RowSelectedValue
    Corsi.FindFirst("IDCorso", CodeRead)
    Corsi.popolacampi(txtCorso.Text, cmbIstruttore.Text)
    End Sub

    Praticamente quando clicco con il mouse sopra una riga di una griglia, preleva quei due valori dalla classe e li associa a txtCorso.text e cmbIstruttore.text

    Logicamente cosi facendo al posta del nome istruttore mi scrivi l'ID dell'istruttore perchè io ho salvato quel valore

    Con faccio a fargli scrivere il rispettivo nome????

    Ciao e grazieeeeeeeee
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  5. #5

    Un aiutino

    Un aiutino non riesco a fare l'inverso

    Se ho 3 istruttore

    ID: 1
    Nominativo: Tizio

    ID: 2
    Nominativo: Caio

    ID: 3
    Nominativo: Sempronio

    Ora sono riuscito, grazie a voi a salvare nel DB il suo ID

    Quindi salvando Tizio, in realtà mi segna 1

    Ora invece quando clicco sulla griglia, mi deve visualizzare in una text, il nome dell'istruttore in riferimento all'ID salvato

    Momentaneamente la mia textbox assume il valore "1", perchè estraggo quel numero e lo visualizzo, però immagino che prima di visualizzarlo, devo confrontarlo per estrarre il nome corrispondente a quell'ID

    Come devo fare????

    Ciao e grazieeeeeeee
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  6. #6
    guarda che è l'esatto opposto di quello che hai fatto prima... :rollo:
    devi sempre caricare i dati nella combo e poi basta assegnare alla proprietà selectedvalue l'ID che deve visualizzare e il controllo si posiziona sul record giusto mostrandoti il member...
    I database... la mia passione + o -

  7. #7

    tu????

    Originariamente inviato da power.mobile
    guarda che è l'esatto opposto di quello che hai fatto prima... :rollo:
    devi sempre caricare i dati nella combo e poi basta assegnare alla proprietà selectedvalue l'ID che deve visualizzare e il controllo si posiziona sul record giusto mostrandoti il member...
    Potresti esse cosi gentile da farmi l'esempio, che non ci riesco

    Ciao e grazieeeeee

    Scusa per il disturbo
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  8. #8
    se carichi una combo con la coppia di dati e la usi al posto della text puoi fare così:

    codice:
    tuacombo.selectedvalue=tuoID
    I database... la mia passione + o -

  9. #9

    Ok

    Originariamente inviato da power.mobile
    se carichi una combo con la coppia di dati e la usi al posto della text puoi fare così:

    codice:
    tuacombo.selectedvalue=tuoID

    Ok capito.....ora funziona

    Siiiiiiiiiiiiiiiiiiiiii

    Ciao e grazieeeeeee
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.