如何在C#datagridview中处理自定义类型的编辑?

时间:2010-03-20 11:08:27

标签: c# events datagridview type-conversion

我有一个datagridview,其中一列包含一个自定义类,我使用它来设置:

dgvPeriods.Columns[1].ValueType = typeof(ExDateTime);

通过处理CellFormatting事件可以正确显示它,但我不确定要处理单元格编辑的事件。在没有做任何事情的情况下,我得到一个FormatException,因为当我尝试将焦点移出已编辑的单元格时,datagridview会尝试将String转换为ExDateTime。我尝试将类型转换添加到我的ExDateTime自定义类:

public static implicit operator ExDateTime(string b)
{
    return new ExDateTime(b);
} 

但这不起作用。我也尝试过处理DataError事件,但这似乎太迟了。 datagridview不是数据绑定。

2 个答案:

答案 0 :(得分:0)

尝试处理网格的CellValidating事件

答案 1 :(得分:0)

事实证明我需要处理CellParsing事件:

e.Value = new ExDateTime(e.Value.ToString());
e.ParsingApplied = true;