Ciao
ho collegato una datagridview a un bindingnavigator e
quindi a un bindingsource
e non trovo l'evento che si genera quando premo
il pulsante elimina cosi da evitare un'eliminazione
involontaria.
GRAZIE!!!
Ciao
ho collegato una datagridview a un bindingnavigator e
quindi a un bindingsource
e non trovo l'evento che si genera quando premo
il pulsante elimina cosi da evitare un'eliminazione
involontaria.
GRAZIE!!!
forse questo ???
codice:System.Windows.Forms.BindingSource.ListChanged(Object, System.ComponentModel.ListChangedEventArgs)
infatti questo va bene
L'evento ListChanged si verifica in seguito alla modifica dell'appartenenza o dei metadati dell'elenco sottostante rappresentato dalla proprietà List. Ad esempio, questo evento si verifica in seguito all'aggiunta, alla rimozione o allo spostamento di elementi oppure quando la proprietà DataSource o DataMember viene modificata. Quando si verifica questo evento, i valori delle proprietà Sort e Filter vengono mantenuti
Ciao
ho provato con questo codice
Ci sono due problemi:codice:Private Sub bdgSource_ListChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ListChangedEventArgs) Handles bdgSource.ListChanged If e.ListChangedType.ToString = "ItemDeleted" Then If MsgBox("Sei sicuro di eliminare il record? ", MsgBoxStyle.Critical + vbYesNo, "Attenzione") = MsgBoxResult.No Then bdgSource.RaiseListChangedEvents = False End If End If End Sub
1) mi viene generato dopo che ha eliminato il record.
2) impostando la proprieta raiselistchangedevents su false non
mi restituisce l'eliminazione.
Come posso fare?
Grazie!
ho un pò questo problema anche io, ma direi che ListChanged avviene dopo che viene modificato l'elenco o un elemento dell'elenco, per cui l'eliminazione è l'evento che genera l'evento ListChanged (scusa il gioco di parole)!
Ecco perchè ormai il record viene cancellato prima della conferma.
Occorre poter confermare l'eliminazione!!!!
Scusate, ma c'è qualcuno che ha risolto questo problema??
Credo che abbiate già risolto, ma posto cmq come ho risolto io, potrebbe essere utile per altri..
Ho utilizzato l'evento MouseDown, nel quale chiedo conferma per l'eliminazione:
Private Sub BindingNavigatorDeleteItem_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles BindingNavigatorDeleteItem.MouseDown
If MsgBox("Eliminare l'utente " & UtenteTextBox.Text & "?", MsgBoxStyle.YesNo, "Conferma eliminazione") = MsgBoxResult.Yes Then
BindingNavigatorDeleteItem_Click(sender, e)
End If
End Sub
L'evento MouseDown si verifica prima del Click, e se nel MouseDown non richiamo il Click l'eliminazione non viene fatta.
Inoltre nel click ho fatto a mano l'eliminazione, perchè in automatico sembrava la facesse, ma in realtà non la faceva (cioè nel db continuavano a esistere i dati e quando uscivo e rientravo nella mia form l'elemento esisteva ancora).
Ora devo solo sistemare il refresh..
alla fine si risolve (Almeno io ho fatto così), in questo modo!
1. dissociare alla Navigator il bttone con l'operazione Delete;
2. inserire un evento sul Click del bottone Cancella quindi inserire una richiesta di conferma e se alla quale si clicca conferma esegue l'operaione di eliminazione, mi sembra che sia:
...oppure qualcosa del genere, adesso scivo da fuori e memoria del codice non lo ricordo perfettamente, se c'è bisogno ci guarderò.codice:me.MyBindingSource.delete.item(corrent)
Bye!!!