Domanda Visual Studio 2019 C# inserire una condizione al DataGridView

Pacifico437

Utente Gold
27 Aprile 2012
166
78
6
200
Buongiorno,

in DataGridView, ci sono alcune celle che sono vuote e gradirei gentilmente inserire una condizione che mi indica se una determinata cella è vuota.

il codice che ho usato e che non funziona si riferisce ad una cella (3):

Codice:
if (DataGridView.Rows[DataGridView.CurrentCell.RowIndex].Cells[3] == 0)       
{
   MessageBox.Show("La cella è vuota");
   return;
 }

Fiducioso di un gradito suggerimento, saluto.
Domenico
 
Gentn.mo JunkCoder,

ringrazio della gentilezza e disponibilità.

Il codice fornito funziona perfettamente e pensavo di completare inserendo un else senza riuscire.

Il procedimento che gradirei che evidenziando la cella vuota (3) funziona e se evidenzio un'altra cella con il record (4), non prende in considerazione e mi esce il messaggio (cella vuota).

Mi scuso se al precedente post non ho precisato ciò che desideravo ripeto, pensavo di farcela.

Fiducioso e scusa, auguro una buona serata.
Domenico
 
In questo caso serve usare l'evento della DataGridView CellEndEdit oppure CellLeave: il codice interno alla funzione è lo stesso, quello che cambia è che il primo evento viene scatenato se si ha almeno iniziato a modificare la cella (fatto doppio click o invio e apparso il cursore), mentre il secondo viene scatenato anche passando sopra il focus con le sole freccette della tastiera o un click singolo del mouse.

C#:
private void dgv_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
    // Se vuoi farlo per tutte le colonne e non solo la 3 cambia a true
    bool checkEmpty = false;
    if (!checkEmpty && e.ColumnIndex == 3)
        checkEmpty = true;
    
    if (checkEmpty && string.IsNullOrEmpty(dgv.Rows[e.RowIndex].Cells[e.ColumnIndex].Value as string))
    {
        MessageBox.Show("La cella è vuota");
    }
}
 
Buongiorno JunkCoder,

ringrazio della pazienza purtroppo non è come desidero e mi scuso.

In DGV evidenziando la riga 7 per es. e la cella della colonna 3 è vuota, mi esce un MSGBOX che avvisa che la cella è vuota è questo funziona grazie al codice che mi hai fornito con il post n. 2.

Non funziona al contario che se la cella n. 3 vi è un Record dovrebbe segnalare sempre con un MSGBOX che la cella è piena.

Ho provato ad inserire un Else nulla.

Mi scuso se non sono stato chiaro fiducioso, saluto
Domenico.