Buon giorno a tutti.
Sto provando ad utilizzare la preziosa funzione offerta dal DataGridView per effettuare il Binding dei dati da una BindingList; ho però un problema nella gestione delle eccezioni
Nella proprietà della classe della BindingList, vorrei generare un'eccezione se il valore impostato dall'utente, non soddisfa alcune condizioni.
Con mio grande stupore, ho notato che se viene generata un'eccezione nella proprietà della classe, questa viene gestita dall'evento "DataGridView_DataError" che è proprio quello che vorrei fare; il problema è che si presentano due comportamenti strani:
-Se sto eseguendo il Debug mediante VisualStudio, l'esecuzione del codice, si interrompe sulla riga dove alzo l'eccezione ma, ripremendo "play", l'esecuzione riprende normalmente passando per l'evento "DataGridView_DataError". Come mai si interrompe se sono in debug, mentre non c'è alcun arresto se eseguo direttamente l'exe? Probabilmente perchè non gestisco direttamente l'eccezione...ma come fare a gestirla?
-Una volta alzata l'eccezione, si scatena l'evento "DataGridView_DataError" e nella variabile "e.Exception", mi trovo correttamente il mio testo dell'eccezione specificato; quando però continuo l'esecuzione del codice, mi si scatena nuovamente l'evento "DataGridView_DataError" ma la variabile "e.Exception" è Nothing. Come mai si scatena due volte l'eccezione? (Ho notato che la prima volta, la variabile "e.Context", è valorizzata a "Commit", la seconda volta, a "Parsing Or Commit"). Quando, invece, l'evento "DataGridView_DataError" viene scatenato automaticamente dal "DataGridView" (ad esempio se viene digitata una stringa in un campo numerico), l'evento scatta solo una volta.
Posto un po' di codice di esempio
GRAZIE