İngilizce dilinde oku

Aracılığıyla paylaş


DataGridViewCellCancelEventHandler Temsilci

Tanım

bir DataGridViewöğesinin ve RowValidating olaylarını CellBeginEdit işleyecek yöntemi temsil eder.

C#
public delegate void DataGridViewCellCancelEventHandler(object sender, DataGridViewCellCancelEventArgs e);
C#
public delegate void DataGridViewCellCancelEventHandler(object? sender, DataGridViewCellCancelEventArgs e);

Parametreler

sender
Object

Olayın kaynağı.

Örnekler

Aşağıdaki kod örneğinde, geçerli izleme ve yayın tarihlerinin girilip girmediğini denetlemek için bir DataGridViewCellCancelEventHandler temsilci kullanılır.

C#
private void ValidateByRow(Object sender, 
    DataGridViewCellCancelEventArgs data) 
{
    DataGridViewRow row = 
        songsDataGridView.Rows[data.RowIndex];
    DataGridViewCell trackCell = 
        row.Cells[songsDataGridView.Columns["Track"].Index];
    DataGridViewCell dateCell = 
        row.Cells[songsDataGridView.Columns["Release Date"].Index];
    data.Cancel = !(IsTrackGood(trackCell) && IsDateGood(dateCell));
}

private Boolean IsTrackGood(DataGridViewCell cell)
{
    Int32 cellValueAsInt;
    if (cell.Value.ToString().Length == 0)
    {
        cell.ErrorText = "Please enter a track";
        songsDataGridView.Rows[cell.RowIndex].ErrorText = 
            "Please enter a track";
        return false;
    }
    else if (cell.Value.ToString().Equals("0"))
    {
        cell.ErrorText = "Zero is not a valid track";
        songsDataGridView.Rows[cell.RowIndex].ErrorText =
            "Zero is not a valid track";
        return false;
    }
    else if (!Int32.TryParse(cell.Value.ToString(), out cellValueAsInt))
    {
        cell.ErrorText = "A Track must be a number";
        songsDataGridView.Rows[cell.RowIndex].ErrorText =
            "A Track must be a number";
        return false;
    }
    return true;
}

private Boolean IsDateGood(DataGridViewCell cell) 
{
    if (cell.Value == null)
    {
        cell.ErrorText = "Missing date";
        songsDataGridView.Rows[cell.RowIndex].ErrorText = 
            "Missing date";
        return false;
    }
    else
    {
        try
        {
            DateTime.Parse(cell.Value.ToString());
        }
        catch (FormatException)
        {
            cell.ErrorText = "Invalid format";
            songsDataGridView.Rows[cell.RowIndex].ErrorText = 
                "Invalid format";

            return false;
        }
    }
    return true;
}

Açıklamalar

Bir DataGridViewCellCancelEventHandler temsilci oluşturduğunuzda, olayı işleyecek yöntemi tanımlarsınız. Olayı olay işleyicinizle ilişkilendirmek için olaya temsilcinin bir örneğini ekleyin. Olay her gerçekleştiğinde, olay işleyici (siz temsilciyi kaldırmadığınız sürece) çağrılır. Olay işleyici temsilcileri hakkında daha fazla bilgi için bkz. Olayları İşleme ve Oluşturma.

Uzantı Metotları

GetMethodInfo(Delegate)

Belirtilen temsilci tarafından temsil edilen yöntemi temsil eden bir nesnesi alır.

Şunlara uygulanır

Ürün Sürümler
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10