DataGridView.RowDirtyStateNeeded Händelse
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.