Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    185

    [vb.net] passare il valore di una cella datagridview

    L'applicazione, tramite un button chiama un form che contiene soltanto un datagridview e, l'applicazione madre, gli passa anche i dati per riempire lo stesso oggetto.

    Il codice è questo (ovviamente l'objDataView è definito prima ed è ok):

    codice:
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            DataForm.Show()
            DataForm.DgViewAllCustomers.DataSource = objDataView
        End Sub
    Ora vorrei che dalla tabella visualizzata nel datagridview, cliccando su una riga, vengano passati i valori di alcune cella come .Text di una Texbox contenuta nel form di partenza.

    Avevo provato così'
    codice:
    FormDiPartenza.TextBox1.Text = DgViewAllCustomers.CurrentRow.Cells(2).Value
    ma ovviamente non va, dove sbaglio?

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    manca un cast del value (che è un object) a string

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    185
    Originariamente inviato da Stoicenko
    manca un cast del value (che è un object) a string
    Scusa l'ignoranza... cioè?

    Una dichiarazione da fare dove?

  4. #4
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    manca un cast cioè una conversione da object a string

    io (in c#) farei così
    codice:
    FormDiPartenza.TextBox1.Text = (string)DgViewAllCustomers.CurrentRow.Cells[2].Value

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    185
    Originariamente inviato da Stoicenko
    manca un cast cioè una conversione da object a string

    io (in c#) farei così
    codice:
    FormDiPartenza.TextBox1.Text = (string)DgViewAllCustomers.CurrentRow.Cells[2].Value
    Perfetto, ora il concetto è chiaro.

    Cerco come farlo in vb.

    Grazie.

  6. #6
    in vb si usa o DirectCast(valore, tipo) o CStr(Valore)
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    185
    Originariamente inviato da andreaciao_22
    in vb si usa o DirectCast(valore, tipo) o CStr(Valore)
    Purtroppo ho provato con CStr, DirectCast e CType nella forma

    codice:
    FormDiPartenza.TextBox1.Text = CType(DgViewAllCustomers.CurrentRow.Cells[2].Value, string)
    senza nessun risultato. :-(

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    185
    Originariamente inviato da meldro
    Purtroppo ho provato con CStr, DirectCast e CType nella forma

    codice:
    FormDiPartenza.TextBox1.Text = CType(DgViewAllCustomers.CurrentRow.Cells[2].Value, string)
    senza nessun risultato. :-(
    Il problema non è il formato... è la "restituzione" della valore alla text box... :-(,
    infatti anche scrivendo:

    codice:
    FormDiPartenza.TextBox1.Text = "ciao"
    Il TextBox1 nel form di partenza rimane vuoto.

    Forse sto andando OT rispetto al titolo del topic... devo aprirne uno nuovo?

  9. #9
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    provato mettendo un breakpoint su quella riga e debuggando l'applicazione a vedere se almeno passa per quell'istruzione?

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    185
    Originariamente inviato da Stoicenko
    provato mettendo un breakpoint su quella riga e debuggando l'applicazione a vedere se almeno passa per quell'istruzione?
    C'ho provato con questo codice:

    codice:
    FormDiPartenza.TextBox1.Text= "ciao"
            Dim test As String
            test = FormDiPartenza.TextBox1.Text
            Me.Close()
    Ho messo il break point in corrispondenza del Me.Close() e sono andato a vedere il valore della var test.
    Il valore è corretto ("ciao") ma non viene recepito dal FormDiPartenza dove il TextBox1 rimane vuoto.

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.