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

Evento DataGridView.CellParsing

 

Ocorre quando uma célula sai do modo de edição se o valor da célula tiver sido modificado.

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

public event DataGridViewCellParsingEventHandler CellParsing

By default, the T:System.Windows.Forms.DataGridView control will attempt to convert a user-specified value displayed in a cell to an actual underlying cell value in the type specified by the cell P:System.Windows.Forms.DataGridViewCell.ValueType property. This conversion uses the formatting properties of the cell style returned by the cell P:System.Windows.Forms.DataGridViewCell.InheritedStyle property.

If the standard conversion does not meet your needs, handle the E:System.Windows.Forms.DataGridView.CellParsing event to provide custom value conversion to the required type.

Users can enter edit mode using the method specified by the P:System.Windows.Forms.DataGridView.EditMode property, and can leave edit mode, committing any changes to a cell, by moving to another cell or by pressing ENTER. Pressing ESC will revert any changes to the value before it is committed, and the E:System.Windows.Forms.DataGridView.CellParsing event will not occur. The E:System.Windows.Forms.DataGridView.CellParsing event occurs only if the cell value has actually been modified, even if the final value is the same as the original value. It also occurs when the M:System.Windows.Forms.DataGridView.CommitEdit(System.Windows.Forms.DataGridViewDataErrorContexts) method is called.

When you handle the E:System.Windows.Forms.DataGridView.CellParsing event, you can convert the value yourself or you can customize the default conversion. For example, you can convert the value yourself using the cell M:System.Windows.Forms.DataGridViewCell.ParseFormattedValue(System.Object,System.Windows.Forms.DataGridViewCellStyle,System.ComponentModel.TypeConverter,System.ComponentModel.TypeConverter) method with type converters of your choosing. Alternatively, you can let the default type converters parse the value, but modify the P:System.Windows.Forms.DataGridViewCellStyle.NullValue, P:System.Windows.Forms.DataGridViewCellStyle.DataSourceNullValue, and P:System.Windows.Forms.DataGridViewCellStyle.FormatProvider properties of the object returned by the P:System.Windows.Forms.DataGridViewCellParsingEventArgs.InheritedCellStyle property, which is initialized using the cell P:System.Windows.Forms.DataGridViewCell.InheritedStyle property.

When you convert the value yourself, replace the initial, formatted value of the P:System.Windows.Forms.ConvertEventArgs.Value property with the converted value in the type specified by the cell P:System.Windows.Forms.DataGridViewCell.ValueType property. To indicate that no further parsing is necessary, set the P:System.Windows.Forms.DataGridViewCellParsingEventArgs.ParsingApplied property to true.

When the event handler completes, if the P:System.Windows.Forms.ConvertEventArgs.Value is null or is not of the correct type, or the P:System.Windows.Forms.DataGridViewCellParsingEventArgs.ParsingApplied property is false, the P:System.Windows.Forms.ConvertEventArgs.Value is parsed using the cell M:System.Windows.Forms.DataGridViewCell.ParseFormattedValue(System.Object,System.Windows.Forms.DataGridViewCellStyle,System.ComponentModel.TypeConverter,System.ComponentModel.TypeConverter) method with default type converters. The default implementation of this method parses the value using the P:System.Windows.Forms.DataGridViewCellStyle.NullValue, P:System.Windows.Forms.DataGridViewCellStyle.DataSourceNullValue, and P:System.Windows.Forms.DataGridViewCellStyle.FormatProvider properties of the cell style passed in. If the value is not equal to P:System.Windows.Forms.DataGridViewCellStyle.NullValue, the value is parsed using the P:System.Windows.Forms.DataGridViewCellStyle.FormatProvider property and the type converters passed in.

To customize the conversion of a cell value into a formatted value for display, handle the E:System.Windows.Forms.DataGridView.CellFormatting event.

For more information about handling events, see NIB: Consuming Events.

The following code example shows how to handle the E:System.Windows.Forms.DataGridView.CellParsing event. It also shows how to use the T:System.Windows.Forms.DataGridViewCellParsingEventArgs class.

// 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
Disponível desde 2.0
Retornar ao início
Mostrar: