Condividi tramite


DataGridView.RowDirtyStateNeeded Evento

Definizione

Si verifica quando la proprietà VirtualMode del controllo DataGridView è true e DataGridView deve determinare se sono presenti modifiche non salvate per la riga corrente.

public:
 event System::Windows::Forms::QuestionEventHandler ^ RowDirtyStateNeeded;
public event System.Windows.Forms.QuestionEventHandler RowDirtyStateNeeded;
public event System.Windows.Forms.QuestionEventHandler? RowDirtyStateNeeded;
member this.RowDirtyStateNeeded : System.Windows.Forms.QuestionEventHandler 
Public Custom Event RowDirtyStateNeeded As QuestionEventHandler 

Tipo evento

Esempio

Nell'esempio di codice seguente viene illustrato come gestire questo evento per fornire l'ambito di commit a livello di cella, ovvero che l'utente può ripristinare le modifiche apportate solo alla cella corrente. Nell'ambito del commit a livello di cella, la riga viene considerata come non commessa solo quando la cella corrente ha modifiche non commesse, anziché quando qualsiasi cella nella riga ha modifiche non inviate. Questo esempio fa parte di un esempio più ampio disponibile in Procedura dettagliata: Implementazione della modalità virtuale nel controllo DataGridView Windows Forms.

void dataGridView1_RowDirtyStateNeeded( Object^ /*sender*/,
    System::Windows::Forms::QuestionEventArgs^ e )
{
   if (  !rowScopeCommit )
   {
      
      // In cell-level commit scope, indicate whether the value
      // of the current cell has been modified.
      e->Response = this->dataGridView1->IsCurrentCellDirty;
   }
}
private void dataGridView1_RowDirtyStateNeeded(object sender,
    System.Windows.Forms.QuestionEventArgs e)
{
    if (!rowScopeCommit)
    {
        // In cell-level commit scope, indicate whether the value
        // of the current cell has been modified.
        e.Response = this.dataGridView1.IsCurrentCellDirty;
    }
}
Private Sub dataGridView1_RowDirtyStateNeeded(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.QuestionEventArgs) _
    Handles dataGridView1.RowDirtyStateNeeded

    If Not rowScopeCommit Then

        ' In cell-level commit scope, indicate whether the value
        ' of the current cell has been modified.
        e.Response = Me.dataGridView1.IsCurrentCellDirty

    End If

End Sub

Commenti

Per impostazione predefinita, questo evento imposta la QuestionEventArgs.Response proprietà su true se sono state modificate le celle nella riga corrente. In questo modo l'evento si verifica quando l'utente esegue il CancelRowEdit ripristino delle modifiche a una riga. Gli utenti possono ripristinare le modifiche a una riga premendo ESC due volte quando una cella è in modalità di modifica o una volta all'esterno della modalità di modifica. Questo evento può essere usato per personalizzare l'ambito di commit in modalità virtuale impostando la QuestionEventArgs.Response proprietà sul valore corretto a seconda dell'ambito di commit scelto.

Per altre informazioni su come gestire gli eventi, vedere la gestione e generazione di eventi.

Si applica a

Vedi anche