Export (0) Print
Expand All

DataGridViewCellValidatingEventArgs Class

Note: This class is new in the .NET Framework version 2.0.

Provides data for the CellValidating event of a DataGridView control.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

public class DataGridViewCellValidatingEventArgs : CancelEventArgs
public class DataGridViewCellValidatingEventArgs extends CancelEventArgs
public class DataGridViewCellValidatingEventArgs extends CancelEventArgs

The DataGridView.CellValidating event lets you cancel changes to the current cell when the new value is not valid. Use the FormattedValue property to determine the current value. To determine the state of the current cell, use the RowIndex and ColumnIndex properties to access the cell through the DataGridView.Rows collection. To cancel the change, set the Cancel property to true.

When this event is canceled in data-bound mode, the new value is not pushed to the underlying data source. When this event is canceled in virtual mode, the DataGridView.CellValuePushed event will not be raised.

The following code example handles the CellValidating event to ensure that only positive integers are entered by the user. This example is part of a larger example available in the VirtualMode reference topic.

private void dataGridView1_CellValidating(object sender,
    DataGridViewCellValidatingEventArgs e)
{
    dataGridView1.Rows[e.RowIndex].ErrorText = "";
    int newInteger;

    // Don't try to validate the 'new row' until finished 
    // editing since there
    // is not any point in validating its initial value.
    if (dataGridView1.Rows[e.RowIndex].IsNewRow) { return; }
    if (!int.TryParse(e.FormattedValue.ToString(),
        out newInteger) || newInteger < 0)
    {
        e.Cancel = true;
        dataGridView1.Rows[e.RowIndex].ErrorText = "the value must be a non-negative integer";
    }
}

private void dataGridView1_CellValidating(Object sender,
    DataGridViewCellValidatingEventArgs e)
{
    int newInteger = 0;
    // Don't try to validate the 'new row' until finished 
    // editing since there
    // is not any point in validating its initial value.
    if (dataGridView1.get_Rows().get_Item(
        e.get_RowIndex()).get_IsNewRow()) {
        return;
    }
    if (!(Int32.TryParse(e.get_FormattedValue().ToString(), newInteger)) 
        || newInteger < 0) {
        e.set_Cancel(true);
    }
} //dataGridView1_CellValidating

System.Object
   System.EventArgs
     System.ComponentModel.CancelEventArgs
      System.Windows.Forms.DataGridViewCellValidatingEventArgs

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0

Community Additions

ADD
Show:
© 2014 Microsoft