spr*_*t12 5 c# int formatting datagridview winforms
我有一个数据绑定datagridview.在其中我有一个具有NULL值和1-12的列.我如何在运行时使datagridview将1转换为1月并将其显示在单元格中?并将NULL转换为另一个预定义的字符串?
我尝试查看单元格格式,将其更改为自定义,然后输入"MMM"但它不起作用并在实际单元格中显示"MMM".
请帮忙.
编辑:它的winforms c#4.0,该字段绑定到EF中的实体的Int字段.不需要文化敏感,英语很好.
编辑:我尝试{0:MMM}它没有工作,只是在单元格中显示{X:MMM},其中X是int.
一些截图:


最简单的方法是为databinding 创建一个单独的属性,例如DisplayMonth包含所需的逻辑,然后将单元格绑定到该属性。您使用 EF 生成的类吗?如果是这样,您可以将此属性添加到分部类中以扩展 EF 生成的分部类。
它看起来像:
public string DisplayMonth
{
get { return ConvertToString(this.Date); //TODO: create ConvertToString method }
set { return this.Date = ConvertFromString() //TODO: create ConvertFromString method ; }
}
Run Code Online (Sandbox Code Playgroud)
正如已经提到的,您还可以使用该CellFormatting事件,但是您需要在网格中使用该对象的任何地方重新实现它。