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

Discussione: Validazione celle in datagridview

  1. #1
    SebastianoFloridia non è in linea Scolaretto
    Post
    124

    Validazione celle in datagridview

    Salve ragazzi, ho un problema nella validazione di una cella in una datagridview

    nel caso in cui il valore non è un numero vorrei che il focus rimanesse sulla cella incriminata, invece va a quella sotto.
    ho provato a modificare un DataCarichi.CurrentCell = DataCarichi.Rows[e.RowIndex-1].Cells[0]; , ma va in errore.


    codice:
    private void DataCarichi_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
            {
                if (DataCarichi.IsCurrentCellDirty)
                {
                    if (e.ColumnIndex == 0) 
                    {
                        string tempcell = DataCarichi[e.ColumnIndex, e.RowIndex].EditedFormattedValue.ToString();
    
                        float i = 0;
                        bool result = float.TryParse(tempcell, out i);  
                        if (result==false)
                        {
                            MessageBox.Show("In valore inserito non è un numero valido.", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            DataCarichi.CurrentCell = DataCarichi.Rows[e.RowIndex].Cells[0];
                            DataCarichi.BeginEdit(true);
                        }
                  
                    }
               
                }
            }
    Che ne pensate?
    Grazie
    Sebastiano Floridia

  2. #2
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,215
    Blogs
    5
    Devi indicare

    e.Cancel=true;

    dopo la messagebox altrimenti a che serve la validazione?
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  3. #3
    SebastianoFloridia non è in linea Scolaretto
    Post
    124
    Grazie tante!!!
    Non è una coincidenza che nel mio profilo risulto "scolaretto"

    Saluti Sebastiano Floridia

+ Rispondi al Thread

Permessi di invio

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