Spostamento dati da un form con listbox a un altro form con textbox

giovedì 07 agosto 2008 - 10.40

Mau67 Profilo | Expert

Salve a tutti, ho la necessità di spostare dei dati da un form con un listbox da dove carico i dati con il seguente codice:

Dim conn As New System.Data.SqlClient.SqlConnection()
Dim cmd As New System.Data.SqlClient.SqlCommand()
Dim dataReader As System.Data.SqlClient.SqlDataReader()

ListBox1.Items.Clear()

Try

conn.ConnectionString="Mia stringa connessione"

conn.Open()
cmd.CommandText = "Select * from mia tabella"

cmd.Connection= conn
dataReader =cmd.ExecuteReder()
While dataReader.Read

ListBox1.Items.Add(dataReader.Item("campo1") & Chr(9) & dataReader.Item("campo2"))
End While

Catch x As Exception
MsgBox(x.Message,MsgBoxStyle.Critical)
End Try


Adesso dovrei spostare selezionando la riga che mi interessa sulla listbox il contenuto del "campo1" e "campo2"
in un form chiamante dove risiedono le textbox corrispondenti, come devo fare?

Grazie in anticipo


Mau67

zami Profilo | Junior Member

Quando parli di "form" intendi WindowsForm o form di un'applicazione web?


"in questo mondo, noi non siamo i passeggeri... siamo l'equipaggio"

Mau67 Profilo | Expert

Intendo WindowsForm lavoro con applicazioni visual studio 2005 professional

Grazie
Mau67

zami Profilo | Junior Member

>Intendo WindowsForm

Certo scusa non avevo letto bene era chiaro in realtà :)

Ecco come fai:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

>Grazie
>Mau67

Di niente!
Ciao :)
Michela


"in questo mondo, noi non siamo i passeggeri... siamo l'equipaggio"

Mau67 Profilo | Expert

Funziona grazie solo che se all'interno del listbox non vengono caricati dati il programma va in errore
quindi vorrei che la selezione della stringa da importare la decidessi io magari con il click sulla stringa o tramite button.

Grazie
Mau67

bostongeorge985 Profilo | Newbie

basta effettuare un controllo sul numero di item presenti nella lista "if me.list1.items.count<>0"

zami Profilo | Junior Member

>Funziona grazie solo che se all'interno del listbox non vengono
>caricati dati il programma va in errore

La soluzione che ti ha indicato bostongeorge985 controlla il numero degli items nella listbox, ma se la form viene chiusa senza che l'utente abbia selezionato nulla hai un errore lo stesso: prima dell'assegnazione del valore alle textbox dovresti aggiungere questa If:

If Not frmFormConListbox.lstLista.SelectedItem Is Nothing Then

che esegue il codice solo se c'è un valore selezionato.

>quindi vorrei che la selezione della stringa da importare la
>decidessi io magari con il click sulla stringa o tramite button.

...ehm non è molto chiaro... nel senso che se la selezione sulla stringa vuoi operarla nella form che contiene la listbox non guadagni niente, se la selezione la operi nella stringa riportata nel chiamante, di nuovo non guadagni niente perché comunque o hai riportato l'item valorizzato, o hai riportato un valore nothing che devi gestire.

Se l'esigenza è solo gestire l'errore, puoi provare la soluzione proposta: se hai un'esigenza diversa puoi spiegarti meglio?

Ciao
Michela


"in questo mondo, noi non siamo i passeggeri... siamo l'equipaggio"

Mau67 Profilo | Expert

1) l'esigenza e tornare al form chiamante con i dati selezionati, ma se qualche campo e vuoto mi deve solo tornare con i campi valorizzati senza generare l'errore

2) se chiamo il form e ritorno al form chiamante senza selezionare la stringa perchè magari o premuto il tasto per errore non mi deve generare l'errore

spero di essere stato chiaro

Buon ferragosto e grazioe ciao Maurizio
Mau67

zami Profilo | Junior Member

>1) l'esigenza e tornare al form chiamante con i dati selezionati,

E questo è ok

>ma se qualche campo e vuoto mi deve solo tornare con i campi
>valorizzati senza generare l'errore

Se nella combo non c'era alcun valore, oppure non è stato selezionato alcun valore fra quelli che la popolavano, non devi eseguire il codice che popola le textbox: puoi gestirlo con la if che ti ho suggerito prima

>2) se chiamo il form e ritorno al form chiamante senza selezionare
>la stringa perchè magari o premuto il tasto per errore non mi
>deve generare l'errore

Appunto :)


>spero di essere stato chiaro

Limpido :)
Hai provato la soluzione indicata? Copre le tue esigenze?

>Buon ferragosto e grazioe ciao Maurizio

Buon ferragosto anche a te! :)
Ciao
Michela



"in questo mondo, noi non siamo i passeggeri... siamo l'equipaggio"
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5