none
DataGridView输入错误处理 RRS feed

  • 问题

  • DataGridView 单元格输入时间, 例如6:30,6:45 这样的时间, 如果输入正确我就更新数据库. 但是输入错误我想弹出提示,把返回原来的值.

    我应该在什么事件下把重设原来的值,并且不触发更新数据库的操作呢?

    CellValueChanged ? CellValidating ? CellEndEdit ?

    2010年7月27日 1:53

答案

  • 试试这个:

            private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
            {
                object obj = e.FormattedValue;
                if (Convert.ToString(obj) == "") return;
                DateTime dt = new DateTime();
                if (!DateTime.TryParse("2010-7-27 " + Convert.ToString(obj) + ":00", out dt))
                {
                    MessageBox.Show("请按H:m格式录入时间值!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    dataGridView1.CancelEdit();
                    e.Cancel = true;
                }
            }

    • 已标记为答案 Castrandom 2010年7月29日 5:09
    2010年7月27日 3:43