[C#] Verificare il cambiamento di un Datagrid\Dataset

lunedì 18 febbraio 2008 - 10.05

FedericoC Profilo | Junior Member

Ciao,

Ho unadatagrid che si carica con l'vento load del form, a cui associo un datagrid, quando vado a premere su di un tasto "salva", vorrei far in modo di registrare le modifiche effettuate al datagrid, nel caso ci siano state...

Qualcuno sa indicarmi un modo semplice per verificare se il datagrid oppure il dataset di partenza è diverso da quello finale?


Grazie

freeteo Profilo | Guru

ciao,
se usi DataSet o DataTable sei a cavallo perche' hanno gia il supporto "integrato" a questa funzionalita' di "stato modificato" delle righe.
Prova a controllare il "RowState" delle righe quindi, in questo modo:

DataTable tabella = resultGrid.DataSource as DataTable; foreach (DataRow item in tabella.Rows) { if (item.RowState == DataRowState.Modified) .....


ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

FedericoC Profilo | Junior Member

Ho un dubbio...

come faccio a sapere se ci sono delle righe nuove o cancellate?

Potrei mettere un controllo per vedere se le righe di partenza sono uguale a quelle di salvataggio, ma nel caso deletto 2 righe e ne aggiungo 2, questo controllo mi sballa...

freeteo Profilo | Guru

ciao,
se i diversi valori di "DataRowState" non ti bastano, una tecnica comune è vedere se il campo "identificativo" (magari un autoincrement dato dal database) ha valore 0, in questo caso la riga è nuova per forza, perche' creata in memoria e non nel db.

Pero' secondo me controllando i diversi valori di "DataRowState" dovresti riuscire a fare tutto...

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

FedericoC Profilo | Junior Member

Visto che nel datagrid ho già dei controlli che mi variano i risultato di determinati textbox in base al valore dentro la cella, potrei mettere un bool che diventa true in questo caso, e lo diventi anche nel caso in cui ci sia un add o delete rows...
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5