2010-03-20 88 views
2

我在其中一列包含自定义类,我一直在使用设置一个DataGridView:如何处理C#datagridview中自定义类型的编辑?

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

它装配了由处理CellFormatting事件显示正确,但我不能确定处理什么事件进行细胞编辑。在没有做任何事情的时候,我得到一个FormatException,因为datagridview试图将字符串转换为ExDateTime,因为我试图将焦点移出编辑的单元格。我尝试添加类型转换到我的ExDateTime自定义类:

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

但这并没有工作。我也尝试过处理DataError事件,但这似乎太晚了。 datagridview不是数据绑定。

回答

0

原来我需要处理CellParsing事件:

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

尝试处理网格的CellValidating事件

相关问题