2024年终活动

DevExpress控件使用交流,DevExpress中国社区Dev联系电话 联系电话:023-68661681

DevExpress日期控件显示问题

来源:evget   发布时间:2012-10-12   浏览:3453次

TdxGridDatePopup是DevExpress组件中日期显示的一个组件,DevExperss是一个很强大的控件,但在中文Windows中,日期控件会出现一个问题:无论星期几都只是显示“星”字。其实,出现这个问题是由于在不同的语言版本中,系统提供的日期函数中返回的格式或文字有所不同。那么,有没有什么行之有效的修改方法呢?

解决方法:

要想解决这个问题,首先来了解一下问题产生的原因,弄清问题的症结。

DevExpress公司是用ShortDayNames数组取得星期几的。 

ShortDayNames: array[1..7] of string; 

ShortDayNames是一个String数组,共有七个元素,分别对应星期一到七的字符串,在英文Windows中,它的值为[‘Sunday’,‘Monday’...],在中文Windows中,它的值为[‘星期一‘,‘星期二‘...]。 

DevExpress是想返回英文的第一个字母,如Sunday,返回的是S,所以她用了S := {$IFDEF DELPHI3}WideString{$ENDIF}(ShortDayNames[J])[1]来取得,但在中文Windows中,就会返回”星“,问题就出在这里。

具体修改方法:

打开{Programe Files}Developer Express IncExpressInplaceEditorsDelphi 5SourcedxGrDate.pas,查找 S := {$IFDEF DELPHI3}WideString{$ENDIF}(ShortDayNames[J])[1], 然后修改为 S := {$IFDEF DELPHI3}WideString{$ENDIF}(ShortDayNames[J])[3]。 

重新编译dxGrDate.pas(你可以把dxGrDate.pas加到一个Project中,重新编译你的Project,dxGrDate.pas就会重新编译),然后把相关的dxGrDate.Dcu复制到..\LIB下。  问题就会解决了。

本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:DevExpress控件中文网 [https://www.devexpresscn.com/]
本文地址:https://www.devexpresscn.com/post/379.html
扫码咨询
电话咨询
023-68661681
返回
顶部