Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês
Esta documentação foi arquivada e não está sendo atualizada.

Evento DataGridView.CellParsing

Ocorre quando uma célula deixa o modo de edição, se o valor da célula foi modificado.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (em System.Windows.Forms.dll)

public event DataGridViewCellParsingEventHandler CellParsing

Por padrão, o DataGridView controle tentará converter o valor especificado pelo usuário exibido em uma célula para um valor de célula base real no tipo especificado pela célula ValueType propriedade. Esta conversão usa as propriedades de formatação do estilo de célula retornado pela célula InheritedStyle propriedade.

Se a conversão padrão não atender às suas necessidades, lidar com o CellParsing o evento para fornecer conversão de valores personalizados para o tipo necessário.

Os usuários podem inserir modo de edição, usando o método especificado pelo EditMode propriedade, e pode deixar Editar modo, confirmar as alterações a uma célula, movendo-se para outra célula ou pressionando ENTER. Pressionando ESC reverterá as alterações ao valor antes que ela seja confirmada e o CellParsing evento não ocorrerá. O CellParsing evento ocorre somente se o valor da célula, na verdade, foi modificado, mesmo se o valor final é o mesmo que o valor original. Ele também ocorre quando o CommitEdit método é chamado.

Quando você lida com o CellParsing evento, você pode converter o valor ou você pode personalizar a conversão padrão. Por exemplo, você pode converter o valor por conta própria usando a célula ParseFormattedValue método com conversores de tipo de sua escolha. Como alternativa, você pode deixar o tipo padrão conversores analisar o valor, mas modificar o NullValue, DataSourceNullValue, e FormatProvider Propriedades do objeto retornado pela DataGridViewCellParsingEventArgs.InheritedCellStyle propriedade, que é inicializada usando a célula InheritedStyle propriedade.

Quando você converte o valor por conta própria, substitua o valor inicial, formatado e o ConvertEventArgs.Value propriedade com o valor convertido no tipo especificado pela célula ValueType propriedade. Para indicar que nenhuma análise é necessária, defina a DataGridViewCellParsingEventArgs.ParsingApplied propriedade para true.

Quando o manipulador de eventos completa, se o ConvertEventArgs.Value é null ou não é do tipo correto, ou o DataGridViewCellParsingEventArgs.ParsingApplied é a propriedade false, o Value é analisado usando a célula ParseFormattedValue método com conversores de tipo de padrão. A implementação padrão desse método analisa o valor usando o NullValue, DataSourceNullValue, e FormatProvider Propriedades do estilo de célula passado pol. Se o valor não for igual a NullValue, o valor é analisado usando a FormatProvider propriedade e os conversores de tipo passados pol.

Para personalizar a conversão de um valor de célula em um valor formatado para exibição, manipular o CellFormatting de evento.

Para obter mais informações sobre tratamento de eventos, consulte Consumindo Eventos.

O exemplo de código a seguir mostra como lidar com o CellParsing de evento. Ele também mostra como usar o DataGridViewCellParsingEventArgs classe.


// Handling CellParsing allows one to accept user input, then map it to a different
// internal representation.
private void dataGridView1_CellParsing(object sender, DataGridViewCellParsingEventArgs e)
{
    if (this.dataGridView1.Columns[e.ColumnIndex].Name == "Release Date")
    {
        if (e != null)
        {
            if (e.Value != null)
            {
                try
                {
                    // Map what the user typed into UTC.
                    e.Value = DateTime.Parse(e.Value.ToString()).ToUniversalTime();
                    // Set the ParsingApplied property to 
                    // Show the event is handled.
                    e.ParsingApplied = true;

                }
                catch (FormatException)
                {
                    // Set to false in case another CellParsing handler
                    // wants to try to parse this DataGridViewCellParsingEventArgs instance.
                    e.ParsingApplied = false;
                }
            }
        }
    }
}


.NET Framework

Com suporte em: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Windows 7, Windows Vista SP1 ou posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core não compatível), Windows Server 2008 R2 (Server Core não compatível com SP1 ou posterior), Windows Server 2003 SP2

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos de sistema do .NET Framework.
Mostrar: