DataGridView.RowDirtyStateNeeded Evento
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Ocorre quando a VirtualMode propriedade do DataGridView controlo é true e a DataGridView necessidade de determinar se a linha atual tem alterações não comprometidas.
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 seguinte demonstra como lidar com este evento para fornecer um âmbito de commit ao nível da célula, o que significa que o utilizador pode reverter alterações apenas na célula atual. No âmbito de commit ao nível da célula, a linha é tratada como tendo alterações não comprometidas apenas quando a célula atual tem alterações não comprometidas, em vez de quando qualquer célula da linha tem alterações não comprometidas. Este exemplo faz parte de um exemplo mais amplo disponível em Walkthrough: Implementing Virtual Mode in the 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
Observações
Por defeito, este evento define a QuestionEventArgs.Response propriedade para true se alguma célula da linha atual tiver sido modificada. Isto faz com que o CancelRowEdit evento ocorra quando o utilizador reverte edições para uma linha. Os utilizadores podem reverter edições para uma linha pressionando ESC duas vezes quando uma célula está em modo de edição ou uma vez fora do modo de edição. Este evento pode ser usado para personalizar o escopo de commit em modo virtual, definindo a QuestionEventArgs.Response propriedade com o valor correto dependendo do escopo de commit escolhido.
Para mais informações sobre como gerir eventos, consulte Gestão e Levantamento de Eventos.