DataGridView 单元格输入时间, 例如6:30,6:45 这样的时间, 如果输入正确我就更新数据库. 但是输入错误我想弹出提示,把返回原来的值.
我应该在什么事件下把重设原来的值,并且不触发更新数据库的操作呢?
CellValueChanged ? CellValidating ? CellEndEdit ?
试试这个:
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; } }