Ciao a tutti, sono sempre alle prese con la DataGridView.
Ho la Form1 che mi fa da menu. Qui ho un pulsante che richiama la Form2 dove ho (la faccio semplice) una DataGridView che si popola grazie ad un DataSet nell'evento Load della Form2.
Ecco le istruzioni:
Dim Connection As New SqlConnection("Data Source=miaist; Initial Catalog=miodb; User Id=sa; Password=miapwd;")
Dim Adapter As New SqlDataAdapter
Try
Connection.Open()
Adapter.SelectCommand = New SqlCommand("SELECT * FROM tabella1;", Connection)
Adapter.Fill(MainDatabase.tabella1)
Adapter.SelectCommand = New SqlCommand("SELECT * FROM tabella2;", Connection)
Adapter.Fill(MainDatabase.tabella2)
Catch ex As Exception
MessageBox.Show(ex.Message, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
Connection.Close()
End Try
MioDGV.DataSource = MainDatabase.tabella1
"MainDatabase" è il Name che ho dato al DataSet che contiene le due tabelle (relazionate per ID)
Ora veniamo al dunque: lancio il programma (Form1), click sull'apposito pulsante ed il programma apre il Form2 popolando correttamente la DataGridView. Non faccio nulla! Esco subito dalla Form2 (click sulla X). L'evento Closing della Form2 non esiste. Rientro nella Form2 (quindi riclicco sull'apposito pulsante della Form1) ed a questo punto - nonostante il mio DataSet contenga il numero di record corretti - viene visualizzato solo il primo ed inoltre se clicco su questa riga il programma va in errore perché la colonna 0 (quella dell'ID) è diventata di tipo Bitmap anziché integer.
Lo stesso problema non ce l'ho naturalmente se chiudo completamente il programma (anche la Form1) e rientro.
Se non sono stato chiaro, come credo, chiedete pure.
ciao, grazie