Torna indietro   Hardware Upgrade Forum > Software > Programmazione

realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
Hogwarts arriva in fascia media grazie a realme, con una special edition che unisce la Quadra Light-Sensing Color-changing Tech, un baule in stile Hogwarts Express pieno di collezionabili e una scheda tecnica sostanzialmente identica al 16 Pro di partenza: ecco cosa cambia davvero, come si comporta nell'uso quotidiano e quanto vale in base al prezzo di 699,99 euro
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-05-2002, 07:32   #1
race2
Senior Member
 
Iscritto dal: Aug 2000
Messaggi: 1209
[VB] Selezionare due Items alla volta con una ComboBox()

Salve, vorrei sapere come posso o se posso selezionare
due Items contemporaneamente con una ComboBox(), il
motivo e' il seguente:

in base alla voce che seleziono nella mia ComboBox(),
voglio avere a mia disposizione il Nome e l'ID della mia
selezione, ma non l'ID della ComboBox() ma l'ID della
tabella nel mio Database, dato che la ComboBox() viene
popolata con una Query.

Come si fa per passare con la ComboBox() sia il Nome e
sia l'ID della tabella ???




Per aggiungere gli Item Io faccio cosi:

---------------------------------------------------------
Dim conn As New OleDbConnection
("Provider=Microsoft.Jet.OLEDB.4.0; Data
Source=D:\Employee.mdb")

conn.Open()
Dim comm As New OleDbCommand("Select * From
Dependents", conn)
Dim read As OleDbDataReader = comm.ExecuteReader

While read.Read()

cmb1.Items.Add(read("Name"))

End While

conn.Close()
---------------------------------------------------------
Ma cosi aggiungo solo l'Item "Nome" , e per l'Item ID ???


POI:

Per estrarre l'"ID" e il "Name" come devo fare ???
----------------------------------------------------------
Dim Id As String = ???
Dim Nome As String = ???
MessageBox.Show(Id & "<--->" & Nome)
----------------------------------------------------------

Vi scongiuro datemi una mano, sono molti giorni che
faccio treand nei forum, ho 3 libri da 800 pagine l'uno
su VB.NET e C#, ma non ho trovato risposta, grazie.
race2 è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2002, 10:47   #2
tas
Senior Member
 
L'Avatar di tas
 
Iscritto dal: Feb 2001
Città: Nordest
Messaggi: 217
Mah, forse quello che ti mostro ora non è il modo più corretto, fai tu...

Ti crei una semplice classe:
Codice:
Public Class MyItem
    Private m_id As Long
    Private m_text As String

    Public Overrides Function ToString() As String
        Return m_text
    End Function

    Public Sub New(ByVal Text As String, ByVal ID As Long)
        m_text = Text
        m_id = ID
    End Sub

    Public Property ID() As Long
        Get
            Return m_id
        End Get
        Set(ByVal Value As Long)
            m_id = Value
        End Set
    End Property

    Public Property Text() As String
        Get
            Return m_text
        End Get
        Set(ByVal Value As String)
            m_text = Value
        End Set
    End Property

End Class
Con questo codice aggiungi gli item al Combobox (nell'esempio imposto ID=i*2):
Codice:
        Dim i As Integer

        For i = 1 To 10
            ComboBox1.Items.Add(New MyItem("Item " & i.ToString, i * 2))
        Next
Con quest'altro codice puoi estrarre il tuo ID:
Codice:
        Dim it As MyItem

        it = ComboBox1.SelectedItem
        TextBox1.Text = it.ID
tas è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2002, 11:27   #3
race2
Senior Member
 
Iscritto dal: Aug 2000
Messaggi: 1209
sei un GRANDISSIMO!!!!!!!!!!
mi stai salvando un lavoro immenso,

solo una cosa mi sta sottolineando il codice all'interno delle parentesi rotonde,

tu nella classe hai messo dei ByVal Text e ID, ma quando li passi i valori Text e ID ???


ComboBox1.Items.Add(New MyItem("Item " & i.ToString, i * 2))
race2 è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2002, 11:33   #4
race2
Senior Member
 
Iscritto dal: Aug 2000
Messaggi: 1209
ERRORE!!!!!!!!!

Sto sbagliando io, funziona tutto!!!!!!!!!!!!!
race2 è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2002, 02:29   #5
race2
Senior Member
 
Iscritto dal: Aug 2000
Messaggi: 1209
Scusami, e' perfetto, funziona tutto, solo una cosa, ma se non volessi visualizzare l'ID nella ComboBox() ma nello stesso tempo vorrei passare il valore dell'ID alla classe, come dovrei fare ???
Per il motivo che visualizzare l'ID non sta molto bene!!!


il mio codice:
----------------------------------------------------------------------------------
conn.Open()
Dim comm As New SqlCommand("Select * From Clienti", conn)
Dim read As SqlDataReader = comm.ExecuteReader
While read.Read()
ComboBox1.Items.Add(New MyItem(read("Nome"), read("ID")))
End While
conn.Close()
------------------------------------------------------------------------------------
race2 è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2002, 07:09   #6
tas
Senior Member
 
L'Avatar di tas
 
Iscritto dal: Feb 2001
Città: Nordest
Messaggi: 217
Se non hai modificato la classe MyItem che ti avevo proposto non dovresti vedere l'ID dentro la ComboBox!

La classe funziona così: se aggiungi al ComboBox un oggetto, VB cerca per questo oggetto il metodo ToString e carica il valore restituito dentro la ComboBox. Controlla ToString...
tas è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2002, 12:49   #7
race2
Senior Member
 
Iscritto dal: Aug 2000
Messaggi: 1209
La tua classe non l'ho toccata, ho solo modificato l'inserimento degli Items, l'esempio che ti ho postato e' il metodo di caricamento degli Item nella ComboBox() , cosa ci vedi di sbagliato ???
Perche mi visualizza pure l'ID nella ComboBox() ???
race2 è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2002, 12:57   #8
race2
Senior Member
 
Iscritto dal: Aug 2000
Messaggi: 1209
Scusa ho trovato !!!!!!!!!!!!!!!!!!!

Ho aggiunto ToString() all'ID, non mi ero accorto che non lo avevo inserito!!!!!!!!!

Lo sai, mi hai tolto da un problema troppo grande per me, ti ringrazio moltissimo, ciao!!!
race2 è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2002, 18:39   #9
race2
Senior Member
 
Iscritto dal: Aug 2000
Messaggi: 1209
Quote:
Originariamente inviato da tas
[b]Mah, forse quello che ti mostro ora non è il modo più corretto, fai tu...

Ti crei una semplice classe:
Codice:
Public Class MyItem
    Private m_id As Long
    Private m_text As String

    Public Overrides Function ToString() As String
        Return m_text
    End Function

    Public Sub New(ByVal Text As String, ByVal ID As Long)
        m_text = Text
        m_id = ID
    End Sub

    Public Property ID() As Long
        Get
            Return m_id
        End Get
        Set(ByVal Value As Long)
            m_id = Value
        End Set
    End Property

    Public Property Text() As String
        Get
            Return m_text
        End Get
        Set(ByVal Value As String)
            m_text = Value
        End Set
    End Property

End Class
Con questo codice aggiungi gli item al Combobox (nell'esempio imposto ID=i*2):
Ciao!
Avrei bisogno di te un altra volta....
Ho creato una ListView multicolonna (Vedi Allegato...),
dovrei fare la solita cosa della discussione passata, al click passare l'ID ad una Query ed ho pensato di usare la tua Classe,
il problema e' che non so come piazzarla , mi da errore, qui sotto c'e' il mio codice completo, mi puooi dare una mano???

-----------------------------------------------------------------------------------
listView1.Activation = ItemActivation.Standard
listView1.Columns.Add("Codice", 100, HorizontalAlignment.Left)
listView1.Columns.Add("Prodotto", 100, HorizontalAlignment.Left)
listView1.Columns.Add("Quantita", 100, HorizontalAlignment.Left)
listView1.Columns.Add("Prezzo", 100, HorizontalAlignment.Left)
listView1.Columns.Add("Iva", 100, HorizontalAlignment.Left)
listView1.Columns.Add("Descrizione", 100, HorizontalAlignment.Left)

Dim Codice As String
Dim Prodotto As String
Dim Quantita As String
Dim Prezzo As String
Dim Iva As String
Dim Descrizione As String
Dim Immagine As String
conn.Open()
Dim comm As New OleDbCommand("Select * From Prodotti", conn)
Dim read As OleDbDataReader = comm.ExecuteReader
While read.Read()
Codice = read("Codice")
Prodotto = read("Prodotto")
Quantita = read("Quantita")
Prezzo = read("Prezzo")
Iva = read("Iva")
Descrizione = read("Descrizione")
Immagine = read("Immagine")
Dim Item As New System.Windows.Forms.ListViewItem(Codice)
Dim itms1 As New System.Windows.Forms.ListViewItem.ListViewSubItem()
Dim itms2 As New System.Windows.Forms.ListViewItem.ListViewSubItem()
Dim itms3 As New System.Windows.Forms.ListViewItem.ListViewSubItem()
Dim itms4 As New System.Windows.Forms.ListViewItem.ListViewSubItem()
Dim itms5 As New System.Windows.Forms.ListViewItem.ListViewSubItem()
Item.SubItems.Add(Prodotto)
Item.SubItems.Add(Quantita)
Item.SubItems.Add(Prezzo)
Item.SubItems.Add(Iva)
Item.SubItems.Add(Descrizione)
listView1.Items.Add(Item)
End While
conn.Close()
-----------------------------------------------------------------------------------

chiaramente qui' non e' stata applicata la tua classe, grazie , ciao!!!
race2 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole! realme 16 Pro Harry Potter Edition: il nuovo mid...
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
28 offerte Amazon da non perdere: e-bike...
'Il rapporto con Sony è rimasto f...
Vision AI Upscaling e Micro RGB AI Engin...
NVIDIA GeForce RTX 6000, anche il leaker...
In arrivo la 'pagella' per i datacenter:...
Celle perovskite-silicio al 34% grazie a...
Apple prepara il suo nuovo hub intellige...
La Cadillac Lyriq-V elettrica sbarca in ...
Amazon: arriva l'opzione per aggiungere ...
Un developer usa Claude Code per creare ...
Relativity Space annuncia i progressi ne...
Il nuovo Resident Evil supera ogni prece...
Hai appena sconfitto un boss e parte lo ...
Ray tracing anche senza montagne di VRAM...
TSMC prepara il processo a 1,4 nm: quatt...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:43.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v