以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请假记录datacolchanged问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=114248) |
-- 作者:edisontsui -- 发布时间:2018/2/1 15:57:00 -- 请假记录datacolchanged问题 我的如下代码: \'请假记录自动输入员工资料 If e.DataCol.Name = "姓名" Then Dim dr As DataRow dr = DataTables("员工名单").Find("姓名 = \'" & e.DataRow("姓名") & "\'" ) If dr IsNot Nothing e.DataRow("部门") = dr("部门") End If End If 使用时总是出现警告: .NET Framework 版本:2.0.50727.8669 Foxtable 版本:2017.3.18.1 错误所在事件:表,请假记录,DataColChanging 详细错误信息: 调用的目标发生了异常。 从字符串“装配”到类型“Double”的转换无效。 输入字符串的格式不正确。 我的“请假记录”里和"员工名单"里的“部门”这个数据栏都是字符型的。这是为什么呢?谢谢。
|
-- 作者:有点甜 -- 发布时间:2018/2/1 16:03:00 -- 这段代码没问题,贴出你 DataColChanging 的完整代码。 |
-- 作者:edisontsui -- 发布时间:2018/2/3 15:38:00 -- 如下是DataColChanging 的完整代码: If e.DataRow("年月") = "" If e.DataCol.name <> "年月" And e.DataCol.name <> "无薪假天数" And e.DataCol.name <> "确认" Then If e.NewValue > 0 Then MessageBox.Show("必须先输入年月!") e.Cancel = True End If End If End If If e.DataRow("姓名") = "" If e.DataCol.name <> "年月" And e.DataCol.name <> "姓名" And e.DataCol.name <> "无薪假天数" And e.DataCol.name <> "确认" Then If e.NewValue > 0 Then MessageBox.Show("必须先输入姓名!") e.Cancel = True End If End If End If If e.DataCol.name <> "年月" And e.DataCol.name <> "姓名" And e.DataCol.name <> "薪假天数" And e.DataCol.name <> "确认" And e.DataCol.name <> "薪假类型" Then If e.newvalue > 1 MessageBox.Show("数据不允许大于1!") e.Cancel = True End If End If
|
-- 作者:有点蓝 -- 发布时间:2018/2/3 16:05:00 -- 问题在这种代码:e.NewValue > 0。字符列不能和数值进行比较 没看懂你代码表示的意思
|