以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]狐表自动退出 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=189945) |
-- 作者:iyplx2425 -- 发布时间:2024/1/6 12:45:00 -- [求助]狐表自动退出 在狐表中对单元格进行剪切、删除操作时,狐表自动退出,是什么问题? |
-- 作者:有点蓝 -- 发布时间:2024/1/6 14:03:00 -- 一般是表事件计算死循环了 |
-- 作者:iyplx2425 -- 发布时间: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事件代码。请审查一下,错误在哪里。 谢谢。
|
-- 作者:有点蓝 -- 发布时间:2024/1/6 15:31:00 -- 下面代码去掉,纯粹多此一举 DataTables("学籍表").DataCols("出生日期").RaiseDataColChanged() DataTables("学籍表").DataCols("入学日期").RaiseDataColChanged()
|
-- 作者:iyplx2425 -- 发布时间: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 计算不出学龄?同样的代码啊。 谢谢。 |
-- 作者:有点蓝 -- 发布时间:2024/1/6 17:07:00 -- "入学日期"列有输入内容吗? 如果是旧数据,点击菜单的重置列,重置一次
|
-- 作者:iyplx2425 -- 发布时间:2024/1/7 9:43:00 -- 可以了。谢谢。 |