DataGridView.RowDirtyStateNeeded Händelse

Definition

Inträffar när VirtualMode kontrollens egenskap är DataGridView och true behovet av DataGridView att avgöra om den aktuella raden har icke-bakåtkompatibla ändringar.

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 

Händelsetyp

Exempel

Följande kodexempel visar hur du hanterar den här händelsen för att tillhandahålla incheckningsomfång på cellnivå, vilket innebär att användaren endast kan återställa ändringar till den aktuella cellen. I omfånget för incheckning på cellnivå behandlas raden som att den endast har icke-bakåtkompatibla ändringar när den aktuella cellen har icke-bakåtkompatibla ändringar, i stället för när någon cell på raden har icke-bakåtkompatibla ändringar. Det här exemplet är en del av ett större exempel i Walkthrough: Implementera virtuellt läge i Windows Forms DataGridView Control.

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

Kommentarer

Som standard anger den QuestionEventArgs.Response här händelsen egenskapen till true om några celler i den aktuella raden har ändrats. Detta gör att händelsen CancelRowEdit inträffar när användaren återställer redigeringar till en rad. Användare kan återställa redigeringar till en rad genom att trycka på ESC två gånger när en cell är i redigeringsläge eller en gång utanför redigeringsläget. Den här händelsen kan användas för att anpassa incheckningsomfånget i virtuellt läge genom att ange QuestionEventArgs.Response egenskapen till rätt värde beroende på det valda incheckningsomfånget.

Mer information om hur du hanterar händelser finns i Hantera och höja händelser.

Gäller för

Se även