找回密码
 立即注册

QQ登录

只需一步,快速开始

KinnSoft

高级会员

108

主题

494

帖子

1999

积分

高级会员

积分
1999

活字格认证微信认证勋章元老葡萄

KinnSoft
高级会员   /  发表于:2014-10-28 17:49  /   查看:9864  /  回复:11
1.日期格式中,转换成CUSTOM后,按照AR REPORT给的规则,没有全部大写,有什么办法可以转换成大写?
ddd = 周日的短字符串格式(例如,用“Sat”表示Saturday)
dddd = 周日的长字符串格式(例如,“Saturday”)
MMM = 月的短字符串形式(例如,用“Dec”表示“December”)
MMMM = 月的长字符串格式(例如,“December”)

其中,Dec  想转换成DEC
2.尝试把字母改大写都是不行的
3.AR 8 ,页面报表

11 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-10-29 16:51:00
沙发
回复 1楼KinnSoft的帖子

AR 自定义格式沿用的是 .NET 平台标准的日期格式,所以通过 Format 无法如此设置。

可以自定义脚本进行转换,通过 value 的表达式调用。
回复 使用道具 举报
KinnSoft
高级会员   /  发表于:2014-10-30 10:43:00
板凳
请问这个要怎么写呢?
脚本上应该要怎么写方法?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-10-30 14:41:00
地板
回复 3楼KinnSoft的帖子

脚本代码:

  1. Public Function FormatDate(ByVal value As String) As String
  2.        
  3.         Dim a As  System.DateTime
  4.         Dim test As String
  5.         a = DateTime.Parse(value)
  6.         test = a.ToString("MMM d").ToUpper()
  7.        
  8.         Return test
  9. End Function
复制代码


使用方法:
在value属性设置为:=Code.FormatDate( Fields!订购日期.Value ) 其中订购日期为字段名称。
回复 使用道具 举报
KinnSoft
高级会员   /  发表于:2014-11-3 10:23:00
5#
按照上面的方法设置后,预览提示:
错误明细:
GrapeCity.ActiveReports.ReportException: 发生了一个意外错误。更多信息: '调用的目标发生了异常。' ---> System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.ArgumentNullException: String 引用没有设置为 String 的实例。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-11-3 14:05:00
6#
回复 5楼KinnSoft的帖子

抱歉,我这边还没有重现问题,附件是我的测试 Demo,请参考:


编辑环境:VS2010 + C# +.NET 4

如果您无法运行附件,那么直接拿模板测试更改数据源即可。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
KinnSoft
高级会员   /  发表于:2014-11-3 15:50:00
7#
按照附件模板出现相同的问题。。
是不是这个字段有什以限制?你的那字段是什么类型?
原字段是日期型的,SQL中已强制转换成varchar型的,请问这样可行不?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-11-3 18:01:00
8#
回复 7楼KinnSoft的帖子

我的字段类型为 DateTime,使用的是 Access 数据库。

目前我还无法重现你的问题,请问是如何转换的?
方法中参数本身就是 String类型,应该没有影响。或者您可以直接取DateTime类型看是否能够成功修改。再进一步调试。

最直接的测试方法是,看参数是否接收正常,直接Return 4# 方法中的 value 即可。
回复 使用道具 举报
KinnSoft
高级会员   /  发表于:2014-11-4 14:05:00
9#
测试过了,Value本身是正常的
得出的结果比如是:2014-02-04

如果在a = DateTime.Parse(value)直接写a = DateTime.Parse("2014-02-04")也都不会报错。。
就是传值会报错,奇怪
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-11-4 19:50:00
10#
回复 9楼KinnSoft的帖子

这个Value是否是您之前提到的转换了数据类型?如果您不转换直接给这个textbox绑定datetime类型会出现什么情况?6#的demo您运行出错吗?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部