cxGrid的两个小问题

时间:2022-02-25 13:59:50
刚用cxGrid不久,功能确实也比较强大,用起来却不那么得心应手。
1、当显示的字段为DateTime时,无法独立控制显示的格式。如:我想将时间显示为:2012-10-03 08:12:20,如果操作系统的时间格式不是hh:mm:ss的话,无论你怎么设置ShortTimeFormat和LongTimeFormat或是单独设置DisplayFormat,它给你显示的是:2012-10-03 8:12:20,虽然不影响使用,但给记录排序带来了困扰。
2、数据导出到Excel后,在Excel单元格里,数字型字段的值前面要加上一个货币符号,要么就是字符串类型,郁闷!

不知大家是否有碰到过类似的问题,请遇到过的朋友帮助,谢谢!

11 个解决方案

#1


用回stringgrid吧:-)

#2


stringgrid功能简单了些,这些问题好像也不是我一人遇到过,只是不知道他们是怎么解决的,还望大家指点指点!

#3


第一个问题可以通过sql的查询语句解决。

#4


第二个问题,不知道你是如何弄的,我是ExportGridToExcel(FileName,cxGrid1,true,true,not cxCheckBox3.Checked);这样导出的,没你说的情况。

#5


谢谢你,目前也是如你这样导出的,不过在Eecel单元格里,数据是文本类型。

#6


我是 delphi2010 + windows_xp + Excel2003 ,数值导出的就是数值,不会是文本。

#7


第一个问题,您所说的通过sql的查询语句解决,那返回结果集字段的数据类型不是变化了的?

#8


我的是delphi2010 + windows7+ Excel2007

#9


引用 7 楼  的回复:
第一个问题,您所说的通过sql的查询语句解决,那返回结果集字段的数据类型不是变化了的?

还可以在程序运行时,按你的需求改变系统的时间格式,结束前,恢复原样。

#10


第一个问题,最好是把日期和时间分成2个字段存,显示格式容易控制(就是日期时间比较时的SQL语句写的烦点),还可以避免只显示时间时,DELPHI显示成:"0000-00-00 12:30:30"的问题。
第二个问题,如果不是用ExportGridToExcel导出,而且cxgrid的单元格是全数字的,excel的单元格默认格式是文本,则自动加上"," ,这应当是excel的问题。2种解决方法,一种是用vartostr加个套;另种是excel定义格式。

#11


结贴有些晚了,没怎么上来过,对不起!虽然没有满意的结果,谢谢大家的热心,分数有限,只能意思一下了!

#1


用回stringgrid吧:-)

#2


stringgrid功能简单了些,这些问题好像也不是我一人遇到过,只是不知道他们是怎么解决的,还望大家指点指点!

#3


第一个问题可以通过sql的查询语句解决。

#4


第二个问题,不知道你是如何弄的,我是ExportGridToExcel(FileName,cxGrid1,true,true,not cxCheckBox3.Checked);这样导出的,没你说的情况。

#5


谢谢你,目前也是如你这样导出的,不过在Eecel单元格里,数据是文本类型。

#6


我是 delphi2010 + windows_xp + Excel2003 ,数值导出的就是数值,不会是文本。

#7


第一个问题,您所说的通过sql的查询语句解决,那返回结果集字段的数据类型不是变化了的?

#8


我的是delphi2010 + windows7+ Excel2007

#9


引用 7 楼  的回复:
第一个问题,您所说的通过sql的查询语句解决,那返回结果集字段的数据类型不是变化了的?

还可以在程序运行时,按你的需求改变系统的时间格式,结束前,恢复原样。

#10


第一个问题,最好是把日期和时间分成2个字段存,显示格式容易控制(就是日期时间比较时的SQL语句写的烦点),还可以避免只显示时间时,DELPHI显示成:"0000-00-00 12:30:30"的问题。
第二个问题,如果不是用ExportGridToExcel导出,而且cxgrid的单元格是全数字的,excel的单元格默认格式是文本,则自动加上"," ,这应当是excel的问题。2种解决方法,一种是用vartostr加个套;另种是excel定义格式。

#11


结贴有些晚了,没怎么上来过,对不起!虽然没有满意的结果,谢谢大家的热心,分数有限,只能意思一下了!