Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [VB2010 Windows Form] - Datagridview, condizionare il cambio riga

    Ciao a tutti,

    Ho un datagridview popolato con il metodo addrow e non con il datasource.
    Una volta popolata la griglia, vorrei gestire il cambio di riga con il click del mouse solo se una determinata condizione è falsa.

    Come si fa?

    grazie a tutti anticipatamente

  2. #2

    moderazione

    Ti invito a modificare al più presto il titolo come da regolamento, altrimenti dovrò chiudere il thread.
    Chi non cerca trova.

  3. #3

    Re: [VB2010 Windows Form] - Datagridview, condizionare il cambio riga

    Originariamente inviato da Actarus_1975
    Ciao a tutti,

    Ho un datagridview popolato con il metodo addrow e non con il datasource.
    Una volta popolata la griglia, vorrei gestire il cambio di riga con il click del mouse solo se una determinata condizione è falsa.

    Come si fa?

    grazie a tutti anticipatamente
    il cambio riga? nel senso di spostare una riga?
    Michele

  4. #4
    Mi spiego meglio:

    Ho una griglia con 3 righe, esempio:

    riga 1
    riga 2
    riga 3

    Faccio una modifica (non confermata) alla riga 1 e la faccio diventare riga 01, per cui avrò:

    riga 01
    riga 2
    riga 3

    A questo punto vorrei cliccare su riga 3 però non avendo ancora confermato la modifica di riga 1 a riga 01 vorrei poter vedere un msgbox che mi dica:

    Non hai confermato la modifica della riga corrente.
    Vuoi continuare?
    Se clicco su si, la riga 3 diventerà currentrow, se clicco su no, la riga 01 rimane currentrow.

    Ho provato ad essere più chiaro.... spero di esserci riuscito.
    Grazie

  5. #5
    ho risolto cosi:

    Ho creato una variabile pubblica "old_r" nell'ambito del form;

    all'interno dell'evento cell_leave valorizzo questa variabile così:

    old_r = e.RowIndex

    all'interno dell'evento cell_click gestisco il cambio riga in questo modo:

    If Me.Salva.Enabled = True And griglia_t.CurrentRow.Index <> CInt(old_r) Then
    Dim response As MsgBoxResult
    response = MsgBox("Sono presenti dati non ancora salvati." & Chr(13) & _
    "Se si sceglie di continuare i dati andranno persi!" & Chr(13) & _
    "Vuoi continuare? ", vbInformation + vbYesNo)

    If response = MsgBoxResult.No Then
    griglia_t.CurrentCell = griglia_t.Rows(old_r).Cells(1)
    Exit Sub
    End If
    End If

    Spero possa essere utile a molti.

    Ciao

  6. #6
    Grazie, la tua soluzione tornerà utile senz'altro a qualcuno. La prossima volta che posti del codice, ricordati di usare l'apposito tag CODE che rende il tutto più leggibile.
    Chi non cerca trova.

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.