Selezionare un riga in datagridview con codice VB.net

di il
11 risposte

Selezionare un riga in datagridview con codice VB.net

Buongiorno,

ho creato un datagridview  e vorrei, tramite codice selezionare una determinata riga per renderla attiva come si ci cliccassi sopra con il mouse,

ho provato con il seguente codice ma senza risultato:

ProvinceDataGridView.CurrentCell = ProvinceDataGridView(i, 0)

dove i è l'indice di un ciclo For Next

Qualche suggerimento

Grazie

Giorgio

11 Risposte

  • Re: Selezionare un riga in datagridview con codice VB.net

    21/07/2023 - Giorgio ha scritto:


    ho creato un datagridview  e vorrei, tramite codice selezionare una determinata riga per renderla attiva come si ci cliccassi sopra con il mouse,

    Prova ad anteporre Me.

    Me.ProvinceDataGridView.CurrentCell = Me.ProvinceDataGridView(1, 0)

    (anche se mi sembra strano che sia tutto qui)

  • Re: Selezionare un riga in datagridview con codice VB.net

    Pubblica il codice per intero… E comunque devi usare la proprietà Selected della riga.

  • Re: Selezionare un riga in datagridview con codice VB.net

    21/07/2023 - Sgrubak ha scritto:


    Pubblica il codice per intero… E comunque devi usare la proprietà Selected della riga.

    For i = 1 To NumProv
               AggiornaXMLProvTSPB.Value = i
               Dim nomeprov As String = ProvinceDataGridView.Rows(i - 1).Cells(1).Value()
               Dim nomesigla As String = ProvinceDataGridView.Rows(i - 1).Cells(2).Value()
               Dim nomeregione As String = ProvinceDataGridView.Rows(i - 1).Cells(3).Value()
               AggXMLProvTSL.Text = nomeprov
               CreateNodoProvincie(i, nomeprov, nomesigla, nomeregione, Scrivi)
               ProvinceDataGridView.CurrentCell = ProvinceDataGridView.Rows(i).Cells(0).Selected
               AggiornaXMLComuniTSPB.Maximum = ComuniDataGridView.RowCount
    ……

    ho aggiunto selected ma segnala errore

  • Re: Selezionare un riga in datagridview con codice VB.net

    Prova ad anteporre Me.

    Me.ProvinceDataGridView.CurrentCell = Me.ProvinceDataGridView(1, 0)

    (anche se mi sembra strano che sia tutto qui)

    La qualificazione “me” non si usa più

  • Re: Selezionare un riga in datagridview con codice VB.net

    21/07/2023 - Giorgio ha scritto:


    ho aggiunto selected ma segnala errore

    E già… È una proprietà di tipo Boolean. XD Non puoi assegnarla ad un oggetto.

    Dovrebbe essere

    ProvinceDataGridView.Rows(i).Selected = True

    21/07/2023 - Giorgio ha scritto:


    La qualificazione “me” non si usa più

    E dove l'hai sentita/letta questa? Il “Me” magari viene sottinteso, ma in determinati contesti serve assolutamente. Ok che potresti ricorrere ad un Extension Method, però… 

  • Re: Selezionare un riga in datagridview con codice VB.net

    21/07/2023 - Sgrubak ha scritto:

    E già… È una proprietà di tipo Boolean. XD Non puoi assegnarla ad un oggetto.

    Dovrebbe essere

    ProvinceDataGridView.Rows(i).Selected = True

    Anche impostato così non funziona, risulta sempre selezionata la prima riga del DataGridView, possibile che non ci sia una soluzione?

  • Re: Selezionare un riga in datagridview con codice VB.net

    Salve,

    vedi se  funziona…

    Dim iCol as integer = x
    Dim iRow as integer = y
    
    Me.ProvinceDataGridView.ClearSelection()
    Me.ProvinceDataGridView.FirstDisplayedScrollingColumnIndex = iCol
    Me.ProvinceDataGridView.CurrentCell = Me.ProvinceDataGridView.Rows(iRow).Cells(iCol)
    Me.ProvinceDataGridView.Rows(iRow).Cells(iCol).Selected = True
    Me.ProvinceDataGridView.Columns(iCol).Selected = True

    salutoni romagnoli
    – 
    Andrea

  • Re: Selezionare un riga in datagridview con codice VB.net

    21/07/2023 - Giorgio ha scritto:


    Anche impostato così non funziona

    A me funziona regolarmente. A questo punto mi viene da chiedermi:

    1) Hai abilitato la multiselezione? Se lo fai manualmente, riesci a selezionare più di una riga per volta?

    2) Il resto del codice, inficia sulla selezione? Hai fatto debug step per step ed hai verificato che da nessun altra parte si vada a modificare la selezione?

  • Re: Selezionare un riga in datagridview con codice VB.net

    Ma la selezione è all'interno del ciclo? Vorresti che la selezione cambiasse mentre il ciclo va avanti? 

    Devi aggiungere una chiamata a DoEvents probabilmente

  • Re: Selezionare un riga in datagridview con codice VB.net

    22/07/2023 - oregon ha scritto:


    Ma la selezione è all'interno del ciclo? Vorresti che la selezione cambiasse mentre il ciclo va avanti? 

    Devi aggiungere una chiamata a DoEvents probabilmente

    Si, potresti farmi un esempio per la chiamata DoEvents.

    Grazie a tutti 

  • Re: Selezionare un riga in datagridview con codice VB.net

    Scusa ma di che esempio parli? È una sola riga

    Se hai dubbi fai una ricerca semplice

    VB.NET  Doevents

    e leggi la pagina Microsoft che ti serve per capire e avere suggerimenti ed esempi d'uso.

    E anche le tante pagine dei risultati che ottieni

    Può darsi che la DoEvents non sia la soluzione ottimale ma facci sapere

Devi accedere o registrarti per scrivere nel forum
11 risposte