Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Cancellazione di una riga in un DataGrid
martedì 16 novembre 2004 - 19.02
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
fscibi
Profilo
| Newbie
1
messaggi | Data Invio:
mar 16 nov 2004 - 19:02
ciao a tutti
è il primo quesito che pongo alla community.
Ho una DataTable associata ad una DataGrid in un progetto C#. Quando l'utente seleziona una o più righe e preme il tasto CANCEL, ovviamente le righe vengono eliminate sia dalla DataTable sia dalla DataGrid.
Adesso vorrei dare la possibilità all'utente (tramite classica finestra di conferma) di annullare l'operazione di cancellazione. Intanto non so se il tasto CANCEL genera qualche evento particolare che potrei raccogliere e gestire.
Ho fatto una prova gestendo l'evento RowDeleting della DataTable. All'interno richiamo il metodo e.Row.RejectChanges(). Accade però che si impalla tutto, perchè la riga dalla DataTable non viene più cancellata, mentre viene cancellata dalla DataGrid. Insomma, DataTable e DataGrid non sono più coerenti e cominciano a lanciare eccezioni del tipo IndexOutOfBound ...
Qualcuno mi sa aiutare ?
Grazie
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
dom 21 nov 2004 - 23:39
Ciao,
probabilmente l'IndexOutOfBound ti viene dato perchè hai un DataGrid paginato ?
La cosa che ti consiglio vivamente e di fare tanto debug. Tanti problemi specialmente su oggetti complessi come la DataGrid li risolvi così. E' un po' una rottura, però ti permette di impararne bene il funzionamento per uso futuro.
Io di solito procedo così e si ottengono buoni risultati.
ciao
david
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !