Partilhar via


DataGridView.RowDirtyStateNeeded Evento

Definição

Ocorre quando a propriedade VirtualMode do controle DataGridView é true e o DataGridView precisa determinar se a linha atual tem alterações não confirmadas.

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 de evento

Exemplos

O exemplo de código a seguir demonstra como lidar com esse evento para fornecer escopo de confirmação no nível da célula, o que significa que o usuário pode reverter alterações somente na célula atual. No escopo de confirmação no nível da célula, a linha é tratada como tendo alterações não confirmadas somente quando a célula atual tiver alterações não confirmadas, em vez de quando qualquer célula na linha tiver alterações não confirmadas. Este exemplo faz parte de um exemplo maior disponível em Passo a passo: implementando o modo virtual no Windows Forms controle DataGridView.

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

Comentários

Por padrão, esse evento define a QuestionEventArgs.Response propriedade como true se alguma célula na linha atual tiver sido modificada. Isso faz com que o CancelRowEdit evento ocorra quando o usuário reverte edições para uma linha. Os usuários podem reverter edições em uma linha pressionando ESC duas vezes quando uma célula está no modo de edição ou uma vez fora do modo de edição. Esse evento pode ser usado para personalizar o escopo de confirmação no modo virtual definindo a QuestionEventArgs.Response propriedade como o valor correto, dependendo do escopo de confirmação escolhido.

Para obter mais informações sobre como lidar com eventos, consulte Manipulando e levantando eventos.

Aplica-se a

Confira também