关于MSHFlexGrid显示日期的问题...请帮帮忙

weiwei19800706 2004-05-09 01:32:43
vb6.0 和SQL SERVER 2000
在数据库中有一datatime型字段,内容全部都只有日期,如:"2004-1-1",但是显示在MSHFlexGrid中的时候显示为:"2004-1-1 0:00:00". 不知道这是为什么,但在DATAGRID中显示有是正常的呀.
要怎样才能在MSHFlexGrid中显示"2004-1-1"呢?请各位大虾指教呀..
...全文
87 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
weiwei19800706 2004-05-09
没有办法了吗?
回复
weiwei19800706 2004-05-09
Leftie(左手,为人民币服务) 你好
如果用mshflexgrid.textmatrix(1,1)=format(mshflexgrid.textmatrix(1,1),"YYYY-MM-DD")
那现在有10000条记录。那不是也要一个一个的去改?还有简单一点的方法吗?
谢谢了
回复
weiwei19800706 2004-05-09
Leftie(左手,为人民币服务) 你好 隐藏:mshflexgrid.colwidth(0)=0 可以这样吗?
如果用鼠标把第1列拖宽的时候,是有可能把第0列有拖出来的把。
还有很更好的办法吗? 谢谢呀
回复
射天狼 2004-05-09
用FORMAT函数格式化:

Format 函数

返回 Variant (String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。

语法

Format(expression[, format[, firstdayofweek[, firstweekofyear]]])

Format 函数的语法具有下面几个部分:

部分 说明
expression 必要参数。任何有效的表达式。
format 可选参数。有效的命名表达式或用户自定义格式表达式。
firstdayofweek 可选参数。常数,表示一星期的第一天。
firstweekofyear 可选参数。常数,表示一年的第一周。
设置值

firstdayofweek 参数有下面设置:

常数 值 说明
vbUseSystem 0 使用 NLS API 设置。
VbSunday 1 星期日(缺省)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 参数有下面设置:

常数 值 说明
vbUseSystem 0 使用 NLS API 设置。
vbFirstJan1 1 从包含一月一日的那一周开始(缺省)。
vbFirstFourDays 2 从本年第一周开始,而此周至少有四天在本年中。
VbFirstFullWeek 3 从本年第一周开始,而此周完全在本年中。
说明

格式化 作法
数字 使用预先定义的命名数值格式或创建用户自定义数值格式。
日期和时间 使用预先定义的命名日期/时间格式或创建用户自定义日期/时间格式。
日期和时间序数 使用日期和时间格式或数值格式。
字符串 创建自定义的字符串格式。
如果在格式化数字时没有指定 format,Format 会提供与 Str 函数类似的功能,尽管它是国际化的。然而,以 Format 作用在正数上不会保留正负号空间,而以 Str
的话则会。

==========================================================================

本示例显示用 Format 函数做格式化输出的不同用法。对于日期分隔号(/),时间分隔号(:),以及 AM/ PM 等文本而言,其真正的显示格式会因计算机上的国际标准不同而有所差异。在开发阶段,日期与时间是以短日期的格式,配合代码的国际标准来显示的。而在运行时,短日期则是根据系统的国际标准而定,而系统的国际标准和代码的国际标准可能并不相同。本示例中是假设国际标准为 English/United States。
MyTime 及 MyDate 在开发环境下,使用系统的短日期设置显示出来的。

Dim MyTime, MyDate, MyStr
MyTime = #17:04:23#
MyDate = #January 27, 1993#

' 以系统设置的长时间格式返回当前系统时间。
MyStr = Format(Time, "Long Time")

' 以系统设置的长日期格式返回当前系统日期。
MyStr = Format(Date, "Long Date")

MyStr = Format(MyTime, "h:m:s") ' 返回 "17:4:23"。
MyStr = Format(MyTime, "hh:mm:ss AMPM") ' 返回 "05:04:23 PM"。

MyStr = Format(MyDate, "dddd, mmm d yyyy") ' 返回 "Wednesday, Jan 27 1993"。
' 如果没有指定格式,则返回字符串。
MyStr = Format(23) ' 返回 "23"。

' 用户自定义的格式。
MyStr = Format(5459.4, "##,##0。00") ' 返回 "5,459.40"。
MyStr = Format(334。9, "###0。00") ' 返回 "334.90"。

MyStr = Format(5, "0。00%") ' 返回 "500.00%"。
MyStr = Format("HELLO", "<") ' 返回 "hello"。
MyStr = Format("This is it", ">") ' 返回 "THIS IS IT"。
回复
饮水需思源 2004-05-09
1,隐藏:mshflexgrid.colwidth(0)=0
2,mshflexgrid.textmatrix(1,1)=format(mshflexgrid.textmatrix(1,1),"YYYY-MM-DD")
回复
weiwei19800706 2004-05-09
不好意思还有个问题,在mshflexgrid的第1列隐藏是MSHFlexGrid.ColIsVisible(1) = False
但是为什么会出错呢?说“不允许给常数付值”
有什么方法可以将某列隐藏吗 ?
回复
相关推荐
发帖
VB基础类
创建于2007-09-28

7489

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2004-05-09 01:32
社区公告
暂无公告