首次写,尚未熟悉使用方法,记一个遇到的小问题借此学习博客编辑方法- -
有部分对日的开发,使用到了FarPoint.Win.Spread 相关付费控件,然后日文虚拟机快照(为什么这么做- -大家都懂的吧)。
由于整个项目(VB.NET C/S)最初的定义是在日本,所以都是在日文环境下开发。但是某一天要在国内销售使用,即开始了调试等工作。
但是从日文下编译成的程序中文下会出现,程序中大部分页面中的Spread报表不能加载数据!
故而由我开始填前人的坑。
刚开始某种原因不能在中文WIN7下直接编译(后来已解决),只能在日文WIN7下分析。
排除了Spread控件自身问题,排除了文件编码(日文系统下大部分为ANSI)问题,代码逻辑问题等等等。最终发现
系统中有那么一方法
1 Private Function columnToDate(ByVal stDate As String) As Integer 2 For c As Integer = columnEnum.WEEK To sh.ColumnCount - 1 3 If columnDate(c) = stDate Then 4 Return c 5 End If 6 Next 7 Return -1 8 End Function
columnDate(c)返回一个字符串的日期。
stData也是一个字符串的日期。所以为了方便就直接用DateTime.Now.ToString()的默认格式(并不是说这个时间,重点是格式,下同),这在日文下没有问题。
但是中文下的DateTime.Now.ToString()的输出为 "2015-4-28 16:36:55" 而日文win7下是 "2015-04-28 16:36:55"。
问题就来了中文win7下没有补0!!!!这个问题导致了程序中大部分页面中的Spread报表不能加载数据!
故此建议:如果一定要用字符串比较日期的请一定要指定格式(例yyyyMMddHHmmss)。
欢迎提出各种宝贵意见。
时间: 2024-10-10 08:04:40