DataGridView.CellParsing Olay
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Hücre değeri değiştirildiğinde, hücre düzenleme modundan ayrıldığında gerçekleşir.
public:
event System::Windows::Forms::DataGridViewCellParsingEventHandler ^ CellParsing;
public event System.Windows.Forms.DataGridViewCellParsingEventHandler CellParsing;
public event System.Windows.Forms.DataGridViewCellParsingEventHandler? CellParsing;
member this.CellParsing : System.Windows.Forms.DataGridViewCellParsingEventHandler
Public Custom Event CellParsing As DataGridViewCellParsingEventHandler
Olay Türü
Örnekler
Aşağıdaki kod örneği olayın nasıl işlendiğini CellParsing gösterir. Ayrıca sınıfının nasıl kullanılacağını DataGridViewCellParsingEventArgs da gösterir.
// Handling CellParsing allows one to accept user input, then map it to a different
// internal representation.
void dataGridView1_CellParsing( Object^ /*sender*/, DataGridViewCellParsingEventArgs^ e )
{
if ( this->dataGridView1->Columns[ e->ColumnIndex ]->Name->Equals( "Release Date" ) )
{
if ( e != nullptr )
{
if ( e->Value != nullptr )
{
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^ /*ex*/ )
{
// Set to false in case another CellParsing handler
// wants to try to parse this DataGridViewCellParsingEventArgs instance.
e->ParsingApplied = false;
}
}
}
}
}
// 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;
}
}
}
}
}
' Handling CellParsing allows one to accept user input, then map it to a different
' internal representation.
Private Sub dataGridView1_CellParsing(ByVal sender As Object, _
ByVal e As DataGridViewCellParsingEventArgs) _
Handles dataGridView1.CellParsing
If Me.dataGridView1.Columns(e.ColumnIndex).Name = _
"Release Date" Then
If e IsNot Nothing Then
If e.Value IsNot Nothing Then
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 ex As FormatException
' Set to false in case another CellParsing handler
' wants to try to parse this DataGridViewCellParsingEventArgs instance.
e.ParsingApplied = False
End Try
End If
End If
End If
End Sub
Açıklamalar
Varsayılan olarak, DataGridView denetim bir hücrede görüntülenen kullanıcı tarafından belirtilen değeri hücre özelliği tarafından belirtilen türdeki gerçek bir temel hücre değerine dönüştürmeyi ValueType dener. Bu dönüştürme, hücre özelliği tarafından döndürülen hücre stilinin InheritedStyle biçimlendirme özelliklerini kullanır.
Standart dönüştürme gereksinimlerinizi karşılamıyorsa, gerekli türe özel değer dönüştürmesi sağlamak için olayı işleyebilir CellParsing .
Kullanıcılar özelliği tarafından belirtilen yöntemi kullanarak düzenleme moduna girebilir ve düzenleme modundan EditMode ayrılarak, değişiklikleri bir hücreye işleyerek, başka bir hücreye taşıyarak veya ENTER tuşuna basarak. ESC tuşuna basıldığında, kaydedilmeden önce değerde yapılan değişiklikler geri döndürülür ve CellParsing olay gerçekleşmez. Olay CellParsing yalnızca, son değer özgün değerle aynı olsa bile hücre değeri gerçekten değiştirilmişse gerçekleşir. Yöntem çağrıldığında CommitEdit da oluşur.
Olayı işlerken CellParsing , değeri kendiniz dönüştürebilir veya varsayılan dönüştürmeyi özelleştirebilirsiniz. Örneğin, seçtiğiniz tür dönüştürücüleriyle hücre ParseFormattedValue yöntemini kullanarak değeri kendiniz dönüştürebilirsiniz. Alternatif olarak, varsayılan tür dönüştürücülerinin değeri ayrıştırmasına izin verebilir, ancak hücre InheritedStyle özelliği kullanılarak başlatılan özelliği tarafından döndürülen nesnenin DataGridViewCellParsingEventArgs.InheritedCellStyle , DataSourceNullValueve FormatProvider özelliklerini değiştirebilirsinizNullValue.
Değeri kendiniz dönüştürdüğünüzde, özelliğin ilk, biçimlendirilmiş değerini ConvertEventArgs.Value hücre ValueType özelliği tarafından belirtilen türdeki dönüştürülmüş değerle değiştirin. Başka ayrıştırma gerekli olmadığını belirtmek için özelliğini olarak true
ayarlayınDataGridViewCellParsingEventArgs.ParsingApplied.
Olay işleyicisi tamamlandığında, değeri doğru türdeyse ConvertEventArgs.Valuenull
veya değilse veya DataGridViewCellParsingEventArgs.ParsingApplied özelliği isefalse
Value, varsayılan tür dönüştürücüleri olan hücre ParseFormattedValue yöntemi kullanılarak ayrıştırılır. Bu yöntemin varsayılan uygulaması, geçirilen hücre stilinin NullValue, DataSourceNullValueve FormatProvider özelliklerini kullanarak değeri ayrıştırıyor. Değer değerine eşit NullValuedeğilse, değer özelliği ve geçirilen tür dönüştürücüleri kullanılarak FormatProvider ayrıştırılır.
Bir hücre değerinin görüntülenmek üzere biçimlendirilmiş bir değere dönüştürülmesi için olayı işleyebilirsiniz CellFormatting .
Olayları işleme hakkında daha fazla bilgi için bkz. Olayları İşleme ve Oluşturma.
Şunlara uygulanır
Ayrıca bkz.
- CellParsing
- OnCellParsing(DataGridViewCellParsingEventArgs)
- CommitEdit(DataGridViewDataErrorContexts)
- CellFormatting
- EditMode
- ValueType
- InheritedStyle
- ParseFormattedValue(Object, DataGridViewCellStyle, TypeConverter, TypeConverter)
- DataGridViewCellParsingEventHandler
- DataGridViewCellParsingEventArgs
- InheritedCellStyle
- ParsingApplied
- Value
- DataGridViewCellStyle
- NullValue
- Format
- FormatProvider
- Windows Forms DataGridView Denetimindeki Hücre Stilleri
- DataGridView Denetimi (Windows Forms)