+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Visualizzare dati in datagridview in base alla selezione di altra datagridview

  1. #1
    ljt
    ljt non è in linea Scolaretto
    Post
    175

    Visualizzare dati in datagridview in base alla selezione di altra datagridview

    Salve a tutti,

    rieccomi con una domanda, spero banale a questo giro.
    Ho una form con tre datagridview che vorrei che fossero popolate in base alla selezione della precedente.
    dgv1
    dgv2
    dgv3

    La dgv1 contiene 3 celle:
    1 cella Un contatore di righe
    2 cella un DataGridViewCheckBoxColumn chiamata cSel
    3 cella una descrizione

    Vorrei che al momento della selezione dela cella cSel della DGV1 la DGV2 fosse popolata.
    Di conseguenza nel momento in cui nella DGV2 viene spuntata la checkbox la DGV3 viene popolata.
    Ma partiamo dalla prima.
    codice:
     Private Sub dgv1_CellClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvMacchinari.CellClick
        
            Dim Qta As Integer = 0
    
            If dgv1.RowCount > 0 Then
                For Each row In dgv1.Rows
                    If row.cells("cSel").value Then
                        Qta += 1
                    End If
                Next
                If Qta > 1 Then
                    MsgBox("Non è possibile selezionare più di una riga")
                    Exit Sub
                ElseIf Qta = 1 Then
                   PopolaDgv2
                End If
            End If
        End Sub
    Il codice funziona solo se seleziono due celle.
    Facendo il debug, al primo click di selezione della cella cSel il programma è come se non sentisse la selezione.

    Consigli in merito?

    Grazie ancora

  2. #2
    patel45 non è in linea Scolaretto Ultimo blog: recupero dati da pagina html
    Post
    372
    Blogs
    1
    non è necessario fare un ciclo per individuare la scelta della combo, prova con
    codice:
        Private Sub dgv1_cellSelectedIndexChanged(ByVal sender As Object, ByVal e As ComboIndexChangedEventArgs) Handles dgv1.cellSelectedIndexChanged
            TextBox2.Text = e.text
        End Sub

  3. #3
    ljt
    ljt non è in linea Scolaretto
    Post
    175
    Quote Originariamente inviato da patel45 Visualizza il messaggio
    non è necessario fare un ciclo per individuare la scelta della combo, prova con
    codice:
        Private Sub dgv1_cellSelectedIndexChanged(ByVal sender As Object, ByVal e As ComboIndexChangedEventArgs) Handles dgv1.cellSelectedIndexChanged
            TextBox2.Text = e.text
        End Sub
    Grazie al tuo consiglio illuminante ho risolto.
    Perché usare una datagridview con checkbox quando posso usare una combobox?
    Meno codice ed è più veloce:
    codice:
    Private Sub cmb1i_SelectedValueChanged(sender As System.Object, e As System.EventArgs) Handles cmb1.SelectedValueChanged
            dgv2.Enabled = True ?Abilita la Datagridview 2
            Lettura_Dati() 'Riempe la Datagridview2 con i dati
        End Sub
    Grazie per l'aiuto.

    P.S.
    Scusa per l'ignoranza, ma dgv1_cellSelectedIndexChanged è un evento della datagridview?

  4. #4
    patel45 non è in linea Scolaretto Ultimo blog: recupero dati da pagina html
    Post
    372
    Blogs
    1
    Quote Originariamente inviato da ljt Visualizza il messaggio
    Perché usare una datagridview con checkbox quando posso usare una combobox?
    me lo ero chiesto anch'io

    Scusa per l'ignoranza, ma dgv1_cellSelectedIndexChanged è un evento della datagridview?

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi