失去焦点时验证单元格值

时间:2013-10-16 08:01:13

标签: c# winforms datagridview

全部,我想在完成输入DataGridView单元格的值后捕获事件,以便我可以验证该值。焦点丢失发生时是否有任何事件DataGridView?制作它的最佳方法是什么?感谢。

1 个答案:

答案 0 :(得分:1)

您应该使用CellValidating事件,请参阅此处MSDN

  

当单元格失去输入焦点,启用内容验证时发生。

和示例(来自MSDN)

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";
    }
}