我想将 DataGridView 列中的 TimeSpan 字段显示为 hhmm。并允许用户以这种格式对其进行编辑。据我所知,我需要向 CellFormatting、CellParsing 和 CellValidating 事件添加一些逻辑。所以我想我必须检查列名,并为那些需要它的人处理它。
但是为了代码重用,我还能如何更好地解决这个问题呢?我可以创建一个自定义的 DataGridViewColumn 类来放置这个逻辑吗?那将如何实现?我看不到 DataGridViewColumn 类存在的任何事件,所以不确定在这里做什么。
最佳答案
我会查看 DataGridViewColumn.CellTemplate
属性,它属于这种类型:
public abstract class DataGridViewCell : DataGridViewElement, ICloneable, IDisposable
它有这些有趣的特性:
Value: object
ValueType: Type
ValueTypeConverter: TypeConverter
从那里,我会查看 TypeConverter
类。
希望这会有所帮助,这就是我在浏览 ILSpy 的大约 2 分钟内可以收集到的内容.
关于c# - 将 hhmm DataGridView 单元格值转换为 TimeSpan 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6097583/