Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    274

    [VB.net 2008] - Popolare dei text da selezione combo

    Come prima cosa chiedo perdono per la mia inesperienza ma iniziando a sviluppare questo mio piccolo programma ho un "problema" da risolvere e per il quale chiedo aiuto.

    Database Access con una tabella Chiamata Comuni all'interno ci sono i campi:
    Comune
    Provincia
    Cap

    Ecco io in VB.net quando nel mio combo che ho popolato con la lista di tutti i comuni, quando ne seleziono uno nei textProv e textCap dovrebbero popolarsi automaticamente in base chiaramente alla scelta del comune.

    Per voi sarà una cosa da poco ma io sto diventando matto.

    GRAZIE

    PS: per popolare il combo ho usato questo codice:

    Dim CN As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLED B.4.0;Data Source=c:\Data\Dati.mdb;Persist Security Info=False")
    Dim strSql As String = "Select * FROM Comuni"
    Dim CMD As New OleDb.OleDbCommand(strSql, CN)
    CN.Open()
    Dim RDR As OleDb.OleDbDataReader = CMD.ExecuteReader()
    While (RDR.Read())
    cmbComuneNascita.Items.Add(RDR("comu_descr"))
    End While
    RDR.Close()
    CN.Close()
    Ultima modifica di mdnet; 01-06-2017 a 11:47

  2. #2
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    cmbComuneNascita.Items.Add(RDR("comu_descr"))

    con questa riga carichi nella combo soltanto il nome del comune, quindi una volta selezionato il comune devi interrogare il database per trovare gli altri dati. Altrimenti carichi la combo con una datatable, e quindi con tutti i dati, visualizzi solo il comune con il metodo DisplayMember ed una volta selezionato l'item puoi tresferire gli altri dati nelle textbox
    Ultima modifica di patel; 01-06-2017 a 16:06

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    274
    Quote Originariamente inviata da patel Visualizza il messaggio
    cmbComuneNascita.Items.Add(RDR("comu_descr"))

    con questa riga carichi nella combo soltanto il nome del comune, quindi una volta selezionato il comune devi interrogare il database per trovare gli altri dati. Altrimenti carichi la combo con una datatable, e quindi con tutti i dati, visualizzi solo il comune con il metodo DisplayMember ed una volta selezionato l'item puoi tresferire gli altri dati nelle textbox
    Grazie, ci provo e spero, a me andrebbe bene anche la seconda soluzione, per caso sempre se non chiedo troppo è possibile trovare un esempio ? Grazie infinite.

  4. #4

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Scusa, ma parli sul serio ?
    Se sì, francamente mi pare un follia, inserire 8000+ comuni in un ComboBox. Non si fa...
    Oltretutto lo sai che esistono anche dei comuni 'uguali' che hanno lo stesso nome?

  6. #6
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    prendendo spunto da quanto si vede online sarebbe meglio suddividere i dati in più combo, regioni, province, comuni

  7. #7
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Bisogna vedere lo scenarioa in cui si opera.
    Se stai realizzando un applicazione web può andare, ma in un applicazione desktop assolutamente no.
    Si fa un query parametrica che mostra i comuni, e tutte le relative informazioni ad essi associate, in una griglia di selezione man mano che l'utente digita i caratteri in uno o più textbox; oppure, usando griglie di selezione di terze parti (DevExpress, ComponentOne, ecc...) che sono già fornite di una filterbar per filtrare i record su più campi (filtro multi-campo).

  8. #8
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    Quote Originariamente inviata da gibra Visualizza il messaggio
    Si fa un query parametrica che mostra i comuni, e tutte le relative informazioni ad essi associate, in una griglia di selezione man mano che l'utente digita i caratteri in uno o più textbox.
    Ciao Giorgio, non ho capito bene, potresti spiegare meglio ? i dati devono essere scaricati tutti in una DGV ? cos'è la griglia di selezione ?

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    274
    Alla fine ho risolto però ora ho il problema che quando seleziono un Comune con accento o apostrofo la routine va in errore
    qualche consiglio ? Grazie

    ---- CODE -----

    Dim ComuneSelezionato As String = cmbComuneResidenza.Text


    Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.jet.oledb.4.0; data source=c:\Dati.mdb;")
    Dim cmdCAP As OleDbCommand = New OleDbCommand("Select COMU_CAP FROM Comuni where COMU_DESCR = '" & ComuneSelezionato & "'", con)
    Dim cmdPROV As OleDbCommand = New OleDbCommand("Select COMU_PROV FROM Comuni where COMU_DESCR = '" & ComuneSelezionato & "'", con)
    Dim cmdCODCOMU As OleDbCommand = New OleDbCommand("Select COMU_COD FROM Comuni where COMU_DESCR = '" & ComuneSelezionato & "'", con)

    Dim dr As OleDbDataReader
    con.Open()
    dr = cmdCAP.ExecuteReader
    While dr.Read()
    txtCap.Text = dr("COMU_CAP").ToString()
    End While
    dr = cmdPROV.ExecuteReader
    While dr.Read()
    txtProv.Text = dr("COMU_PROV").ToString()
    End While
    dr = cmdCODCOMU.ExecuteReader
    While dr.Read()
    txtComuCod.Text = dr("COMU_COD").ToString()
    End While
    dr.Close()

    -----------------

  10. #10
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Quote Originariamente inviata da patel Visualizza il messaggio
    Ciao Giorgio, non ho capito bene, potresti spiegare meglio ? i dati devono essere scaricati tutti in una DGV ? cos'è la griglia di selezione ?
    Cosa non ti è chiaro? Mi pare che il termine griglia di selezione sia auto-esplicativo (non c'è molto da spiegare), ed è utilizzata in tutti i gestionali (magari ognuno la implementa a modo proprio).

    Una griglia di selezione serve a selezionare un valore da un elenco.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.