Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    c# DatagridView - RowState

    Salve, ho un problema che mi perseguita da tempo.
    Ho un Datagridview con la proprietà AllowUserToDeleteRows = true, quindi l'utente può cancellare delle righe.
    Datagridview è "bindato" ad un DataTable Prodotti.
    Quando voglio eliminare un record dalla datagridview accade qualcosa di anomalo, viene invocato l'evento UserDeletingRow ma non viene invocato UserDeletedRow, come mai?
    Come faccio a far scattare correttamente il UserDeletedRow?
    L'importante non è partecipare.. ma
    vincere!
    Errare Humanum EST, perseverare.. a OVEST!

  2. #2
    Risolto, incredibile quanto mi ha fatto penare.
    Se il DataGridView ha AllowUserToAdd = true capita un anomalia in un caso e cioè quando la DataGridView contiene un solo elemento.
    DataGridView avrà come prima riga il record popolato con i dati e come seconda riga una riga vuota per inserire i dati.
    Cancellando la prima riga il focus andrà nella riga vuota e il dataSource non capirà che c'è stato un cambiamento perchè conta sempre una sola riga.
    In buona sostanza, per risolvere il mio problema ho impostato la proprietà AllowUserToAdd = false, così avrò il numero di righe = al numero di righe popolate e l'evento UserDeletedRow verrà invocato ogni volta che proverò ad eliminare un record.

    Spero di essere stato di aiuto a qualcuno perchè questo tipo di problema mi ha perseguitato per quasi un mese.

    OfflineMan
    L'importante non è partecipare.. ma
    vincere!
    Errare Humanum EST, perseverare.. a OVEST!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.