多语言展示
当前在线:218今日阅读:26今日分享:39

FastReport.NET V2017 可空日期DateTime类型

1、场景:FastReport.NET V2017版本的DateTime可能是非空的,导致后台通过DataTable传递空值的DateTime列,到FastReport缺显示“0001-01-01 00:00:00”这类的结果。2、思路:     1)使用FastReport的Year、IIf函数结合,当后台返回空值时,界面也显示空值     2)后台返回处理过的string字段,供FastReport绑定
工具/原料

FastReport.NET V2017

方法/步骤
1

【方式一】FastReport的Year函数,判断当前日期的年是否小于指定年份,比如小于1900,即当做无效年份处理:       Year([数据源.日期字段]) < 1900

2

【方式一】FastReport的FormatDateTime函数,格式化日期为指定格式:       FormatDateTime([数据源.日期字段],'yyyy-MM-dd HH:mm:ss')

3

【方式一】结合IIf、Year、FormatDateTime格式化日期字段的完成格式如下:       [IIf((Year([数据源.日期字段]) < 1900),'',FormatDateTime([数据源.日期字段],'yyyy-MM-dd HH:mm:ss'))]

4

【方式二】后台实体字段日期转换为string类型,如果日期为空值,就给string赋值为空,如果日期是有效日期,就给日期格式化显示的格式

5

【方式二】修改FastReport模板的SQL语句,将日期字段类型改为字符串类型,或者直接修改FastReport的数据源字段类型为字符串

6

【方式二】在绑定字段的时候,按照字符串类型绑定,不需要格式化,因为后台已经格式化好了

7

运行效果,如果日期为空,打印显示就是空白的。如果日期值有效,就显示对应日期值

注意事项
1

上述格式中的各种中括号、小括号、逗号、双引号都不要缺少

2

只需要替换上述格式中的 “数据源.日期字段” 为具体值

推荐信息