标题:[求助] datagrid 在 BeforeColUpdate事件中为什么不能更改column(i).text的 ...
只看楼主
ambrosehua
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-7-15
 问题点数:0 回复次数:0 
[求助] datagrid 在 BeforeColUpdate事件中为什么不能更改column(i).text的值
在VB6.0中,datagrid的一列为时间/日期,我想在单元格中直接输入“001234"后,通过一些处理,让其变成“00:12:34”的格式,以便更新。故在BeforeColUpdate事件中,做如下处理:
////////////////////////////////////////////////////////////////////
...
Dim timeStr As String
Dim tmp As String
Select Case ColIndex
Case 0 '对应于时间列
timeStr = DataGrid1.Columns(ColIndex).Text
If Len(timeStr) = 6 Then
tmp = Left(timeStr, 2) & ":" & Mid(timeStr, 2, 2) & ":" & Right(timeStr, 2)
DataGrid1.Columns(ColIndex).Text = tmp
End If
////////////////////////////////////////////////////////////////////

是调试发现DataGrid1.Columns(ColIndex).Text =tmp
运行完后,DataGrid1.Columns(ColIndex).Text
的值依旧是“001234”,似乎无法改变。另外,在随后引发的AfterColUpdate事件中DataGrid1.Columns
(ColIndex).Text的值已经格式化为“00:01:34”(a),而不是“00:12:34"。datagrid的datasource为一
ADODB.RECORDSET对象,CursorType = adOpenDynamic,LockType =
adLockOptimistic,CursorLocation =
adUseClient,我所用的英文版的VB6.0,如果是中文版,(a)处text的值为"上午
12:01:34”,我想问一下,(1)为什么中BeforeColUpdate中无法更改text的值,(2)在完成一个单元格的编辑后还有什么办法更
改text的值

[此贴子已经被作者于2007-7-15 10:51:12编辑过]

搜索更多相关主题的帖子: column datagrid text 
2007-07-15 10:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-155459-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.598933 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved