【发布时间】:2015-01-22 03:58:27
【问题描述】:
我想检查 datagridview 输入值类型是否与相应的单元格数据类型匹配。例如,如果我提供数字输入,它将检查相应的数据绑定 datagridview 列的数据类型是否为数字。如果字符串作为输入给出,那么它将显示错误消息,反之亦然。我试过这样:
private void dgvLoadTable_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if(e.FormattedValue.GetType() != dgvLoadTable.CurrentCell.ValueType.UnderlyingSystemType)
MessageBox.Show("Input type is wrong"); }
}
但是即使输入正确,这也会显示错误消息。谁能告诉我如何正确操作?
【问题讨论】:
-
e.FormattedValue是object,它用于传递用户输入(文本)。您可以尝试解析它以查看类型是否匹配。我在简单的switch中使用固定列DataGridView(不可重新排序)和e.ColumnIndex。CurrentCell.ValueType也可以与 dynamic parsing 一起使用。
标签: c# winforms validation datagridview