Foxtable(狐表)用户栏目专家坐堂 → [求助]狐表自动退出


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

主题:[求助]狐表自动退出

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


加好友 发短信
等级:婴狐 帖子:45 积分:348 威望:0 精华:0 注册:2018/2/5 14:31:00
[求助]狐表自动退出  发帖心情 Post By:2024/1/6 12:45:00 [只看该作者]

在狐表中对单元格进行剪切、删除操作时,狐表自动退出,是什么问题?


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110810 积分:563988 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/1/6 14:03:00 [只看该作者]

一般是表事件计算死循环了

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


加好友 发短信
等级:婴狐 帖子:45 积分:348 威望:0 精华:0 注册:2018/2/5 14:31:00
  发帖心情 Post By:2024/1/6 15:29:00 [只看该作者]

If e.DataCol.Name = "身份证号" Then '如果更改的是身份证号码列
    If e.DataRow.IsNull("身份证号") Then '身份证号码是否为空
        e.DataRow("出生日期") = Nothing '如果为空,则清除出生日期
    Else
        '否则从身份证号码列中提取出生日期
        e.DataRow("出生日期") = ReadBirthday(e.DataRow("身份证号"))
    End If
End If
If e.DataCol.Name = "身份证号" Then '如果更改的是身份证号码列
    If e.DataRow.IsNull("身份证号") Then '身份证号码是否为空
        e.DataRow("性别") = Nothing '如果为空,则清除出生日期
    Else
        '否则从身份证号码列中提取出生日期
        e.DataRow("性别") = Readsex(e.DataRow("身份证号"))
    End If
End If
If e.DataCol.Name = "出生日期" Then
    If e.DataRow.IsNull("出生日期") Then '如果没有输入出生日期
        e.DataRow("年龄") = Nothing '则清空年龄
    Else
        '否则计算年龄
        e.DataRow("年龄") = Date.Today.Year - e.DataRow("出生日期").Year
    End If
End If
DataTables("学籍表").DataCols("出生日期").RaiseDataColChanged()
If e.DataCol.Name = "入学日期" Then
    If e.DataRow.IsNull("入学日期") Then '如果没有输入出生日期
        e.DataRow("学龄") = Nothing '则清空年龄
    Else
        '否则计算年龄
        e.DataRow("学龄") = Date.Today.Year - e.DataRow("入学日期").Year
    End If
End If
DataTables("学籍表").DataCols("入学日期").RaiseDataColChanged()
以上是[学籍表]中的DataColChanged事件代码。请审查一下,错误在哪里。
谢谢。

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110810 积分:563988 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/1/6 15:31:00 [只看该作者]

下面代码去掉,纯粹多此一举

DataTables("学籍表").DataCols("出生日期").RaiseDataColChanged()
DataTables("学籍表").DataCols("入学日期").RaiseDataColChanged()

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


加好友 发短信
等级:婴狐 帖子:45 积分:348 威望:0 精华:0 注册:2018/2/5 14:31:00
  发帖心情 Post By:2024/1/6 16:34:00 [只看该作者]

删去两两行问题解决了。但为什么
If e.DataCol.Name = "出生日期" Then
    If e.DataRow.IsNull("出生日期") Then '如果没有输入出生日期
        e.DataRow("年龄") = Nothing '则清空年龄
    Else
        '否则计算年龄
        e.DataRow("年龄") = Date.Today.Year - e.DataRow("出生日期").Year
    End If
End If
能计算出年龄,而
If e.DataCol.Name = "入学日期" Then
    If e.DataRow.IsNull("入学日期") Then '如果没有输入出生日期
        e.DataRow("学龄") = Nothing '则清空年龄
    Else
        '否则计算年龄
        e.DataRow("学龄") = Date.Today.Year - e.DataRow("入学日期").Year
    End If
End If
计算不出学龄?同样的代码啊。
谢谢。

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110810 积分:563988 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/1/6 17:07:00 [只看该作者]

"入学日期"列有输入内容吗?

如果是旧数据,点击菜单的重置列,重置一次

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


加好友 发短信
等级:婴狐 帖子:45 积分:348 威望:0 精华:0 注册:2018/2/5 14:31:00
  发帖心情 Post By:2024/1/7 9:43:00 [只看该作者]

可以了。谢谢。


 回到顶部