主题:验证datagridview数据时怎样显示提示信息
我用datagridview控件绑定了一个数据表,其中第5列是datetime字段,我想光标在移出此列时做2个判断,即是否能转换为有效的datetime类型,还要判断是否大于今天的日期,如果有一个判断是false,就出现相应的提示信息,并将光标停留在此列。
于是我在datagridview控件的CellValidating事件中写入以下代码:
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
this.dataGridView1.EndEdit();
switch (e.ColumnIndex)
{
case 4://日期列
try
{
if (Convert.ToDateTime(this.dataGridView1.CurrentCell.Value) > DateTime.Today)
{
MessageBox.Show("录入的进货日期不应大于今天日期,请重新录入正确的进货日期!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
e.Cancel = true;
}
}
catch (Exception)
{
MessageBox.Show("录入的数据不是有效日期,请重新录入正确的进货日期!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
return;
default:
return;
}
}
运行后发现录入的日期大于今天的日期会出现提示信息,光标停在原地。
但是如果录入的数据不是datetime类型,不出现catch段中的messagebox提示,光标也停在原地。
请问:怎样才能显示catch中的提示信息?
于是我在datagridview控件的CellValidating事件中写入以下代码:
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
this.dataGridView1.EndEdit();
switch (e.ColumnIndex)
{
case 4://日期列
try
{
if (Convert.ToDateTime(this.dataGridView1.CurrentCell.Value) > DateTime.Today)
{
MessageBox.Show("录入的进货日期不应大于今天日期,请重新录入正确的进货日期!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
e.Cancel = true;
}
}
catch (Exception)
{
MessageBox.Show("录入的数据不是有效日期,请重新录入正确的进货日期!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
return;
default:
return;
}
}
运行后发现录入的日期大于今天的日期会出现提示信息,光标停在原地。
但是如果录入的数据不是datetime类型,不出现catch段中的messagebox提示,光标也停在原地。
请问:怎样才能显示catch中的提示信息?