DataGridView验证不起作用

时间:2011-12-27 03:27:19

标签: c# validation datagridview focus

我在验证dataGridView单元格时遇到问题。一切正常,除非我按下dataGridView之外的按钮(保存数据按钮)(dataGridView失去焦点,在验证之前按下按钮)。

我需要的是,在验证tabControl单元格上的值之前,无法聚焦和按下该按钮(以及所有其他控件,包括DataGridView)。有人可以帮忙吗?

下面是代码示例

private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
    {
        if (e.ColumnIndex > 0) // I only validate columns 1,2,3....
        {
            try
            {
                dataGridView1.CurrentCell.Value = Convert.ToDouble(e.FormattedValue);
            }
            catch (Exception ex)
            {
                dataGridView1.CancelEdit();
                System.Media.SystemSounds.Hand.Play();
                e.Cancel = true;
            }

        }
    }

1 个答案:

答案 0 :(得分:0)

在此代码中禁用该保存按钮,然后在验证结束时将其启用。显示progess栏或状态栏以表示正在对数据进行后处理。在处理开启时,始终保持datagridview的焦点。您可以通过使用标志(bool标志)并在发生这种情况时将其设置为true来实现,并且在鼠标移动和按键时,您可以检查它并将注意力集中在datagridview本身上。