Foxtable(狐表)用户栏目专家坐堂 → [求助][原创]表事件问题


  共有8965人关注过本帖树形打印复制链接

主题:[求助][原创]表事件问题

帅哥哟,离线,有人找我吗?
baicaocao
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:497 积分:4892 威望:0 精华:0 注册:2012/4/20 8:42:00
[求助][原创]表事件问题  发帖心情 Post By:2012/4/25 15:07:00 [只看该作者]


此主题相关图片如下:qq截图20120425150440.png
按此在新窗口浏览图片
操作表

按照例子说明:DataColChanged事件中,插入代码: 

If e.DataCol.Name = "已结帐" Then
    If e.NewValue = True Then
        e.
DataRow.Locked = True
   
End If
ElseIf
e.DataCol.Name = "身份证号码" Then
   
If e.DataRow.IsNull("身份证号码") Then
        e.
DataRow("出生日期") = Nothing
   
Else
        e.DataRow("出生日期") = ReadBirthday(e.NewValue)
    End
If
End If

 

列为:身份证号码(字符255),出生日期(字符255)。

输入身份证号码后回车不会在出生日期列自动出现出生日期值。

请问是说明原因呢?


 回到顶部
帅哥,在线噢!
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251397 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/4/25 15:12:00 [只看该作者]

1、身份证号码的长度应该改为18位,出生日期应该改为日期时间型。

2、出生日期没有出来,说明你的身份证号码输入错误,如果你确认没错,可以做个例子发上来,我们帮你看看怎么回事。


 回到顶部
帅哥哟,离线,有人找我吗?
baicaocao
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:497 积分:4892 威望:0 精华:0 注册:2012/4/20 8:42:00
  发帖心情 Post By:2012/4/25 15:16:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table

已经修改还是不行。。

 回到顶部
帅哥,在线噢!
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251397 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/4/25 15:20:00 [只看该作者]

你的代码已经有效,设置代码后,你在某行输入一个正确的身份证号码就知道了。

你遇到的困惑,在这里有答案:

http://www.foxtable.com/help/topics/1469.htm

http://www.foxtable.com/help/topics/1587.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
baicaocao
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:497 积分:4892 威望:0 精华:0 注册:2012/4/20 8:42:00
  发帖心情 Post By:2012/4/25 15:24:00 [只看该作者]

我看了一下帮助,如果要对列进行表达式计算,可以在表事件中设置。

比如说:我一个表中有‘门洞尺寸’‘门扇尺寸’,‘门框尺寸’三个列,逻辑关系为:

门洞尺寸的计算公式为:门扇尺寸(输入格式:2000*800*60)分解,赋值三个变量,A = 2000,B = 800 C=60,然后计算,门洞尺寸:A+100,B+50,C,然后再通过截取字符串,恢复成(2100*2050*60)的格式。

表事件中,门扇尺寸列发生变化后,激活以上公式,在门洞尺寸中输入公式计算出的值。

应该在 DataColChanged事件中,插入代码,请问这个思路对么?


 回到顶部
帅哥,在线噢!
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251397 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/4/25 15:30:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
baicaocao
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:497 积分:4892 威望:0 精华:0 注册:2012/4/20 8:42:00
  发帖心情 Post By:2012/4/25 15:39:00 [只看该作者]

我现在不计算出生日期,我把代码换成:

If e.DataCol.Name = "已结帐" Then
    If e.NewValue = True Then
        e.
DataRow.Locked = True
   
End If
ElseIf
e.DataCol.Name = "身份证号码" Then
   
If e.DataRow.IsNull("身份证号码") Then
        e.
DataRow("出生日期") = Nothing
   
Else
        e.DataRow("出生日期") = 1982-08-08
    End
If
End If

就是如果输入身份证号码之后,就会自动把当前出生日期列的行,设置成为1982-08-08,这个格式错了么?


 回到顶部
帅哥哟,离线,有人找我吗?
baicaocao
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:497 积分:4892 威望:0 精华:0 注册:2012/4/20 8:42:00
  发帖心情 Post By:2012/4/25 15:41:00 [只看该作者]

加上""了,还是不行。。不会赋值到出生日期列中。。晕了。。


 回到顶部
帅哥,在线噢!
狐狸爸爸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251397 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/4/25 15:42:00 [只看该作者]

我测试可以的,你看看:

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table

[此贴子已经被作者于2012-4-25 15:42:33编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
baicaocao
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:497 积分:4892 威望:0 精华:0 注册:2012/4/20 8:42:00
  发帖心情 Post By:2012/4/25 15:53:00 [只看该作者]

我知道怎么回事了,我下载了你的项目之后,还是不成,估计是我电脑的问题,我把系统重新安装一下试试。。


 回到顶部
总数 11 1 2 下一页