Selezionare cella datagridview

di il
2 risposte

Selezionare cella datagridview

Ciao a tutti.
Ho un datagridview nel quale vorrei controllare i valori di immissione immediatamente. Per fare questo ho messo i miei controlli di verifica nell'evento CellValueChanged che ho visto viene scatenato quando la cella corrente in edit perde il focus.
Funziona ma vorrei che, in caso di errore di introduzione, il focus ritornasse automaticamente sulla cella che lo ha prodotto in modo di indicare all'utente dove ha sbagliato e posizionare il cursore direttamente li.
Ora, io ho messo nell'evento CellValueChanged qualcosa del genere:

if (err == true)
{
	datagridview1.CurrentCell = dgvToolData.Rows[e.RowIndex].Cells["value"];		//value è il nome della cella di introduzione
	datagridview1.BeginEdit(true);
}
Ma non funziona. Probabilmente perchè il fuoco sulla cella successiva (o su un altro controllo) si scatena dopo questo evento e quindi mi frega.
Come potrei fare per risolvere?

Grazie

2 Risposte

  • Re: Selezionare cella datagridview

    Ciao Lucios,
    credo sia meglio gestire la validazione con l' evento validating :

    P.S. - Hai abbandonato i PLC?
  • Re: Selezionare cella datagridview

    Ciao max.riservo,
    si, in effetti è meglio usare l'evento CellValidating, grazie.
    Il problema era però dovuto al fatto che, come specificato nel link che mi hai suggerito, occorre aggiungere:
    e.Cancel = true;
    inoltre occorre andare ad analizzare "e.FormattedValue" e non, come facevo io, puntare la cella incriminata perchè ci si trova ancora il valore precedente.
    P.S. - Hai abbandonato i PLC?
    Più che di PLC io mi occupavo, e quando capita mi occupo ancora, di macchine a CNC.
    Tuttavia per ragioni varie, soprattutto legate a questi ultimi anni di crisi ma anche per interesse personale, ho alzato l'asticella e adesso sviluppo principalmente software sempre legato all'officina e alle macchine ma su PC (rilevamento dati, applicazioni di supervisione, gestione dati utensili e produzione, ecc.).
    Grazie ancora e ciao.
Devi accedere o registrarti per scrivere nel forum
2 risposte