以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88877) |
-- 作者:18804248860 -- 发布时间:2016/8/10 21:30:00 -- [求助] 一列是 班级,例如1班 二列是 组例如 1组, 三列是号码,例如 1号 想在第四列自动生成工号 101001 之前一直把前三列设为整数,然后用表达式列 [班级]*100000+ [组]*1000 + [号码] 算出第四列, 但是表达式列不能设置关联。 能用代码实现吗?
|
-- 作者:2900819580 -- 发布时间:2016/8/10 21:42:00 -- Dim dr As DataRow = e.DataRow Select Case e.DataCol.Name Case "班","组","号" dr("序号") = dr("班") & Format(dr("组"),"00") & Format(dr("号"),"000") End Select |
-- 作者:大红袍 -- 发布时间:2016/8/10 21:46:00 -- DataColChangd事件
Select Case e.DataCol.Name Case "班级", "组", "号码" e.DataRow("工号") = Format(e.Datarow("班级"), "00") & Format(e.Datarow("组"), "00") & Format(e.Datarow("号码"), "00") End Select |
-- 作者:18804248860 -- 发布时间:2016/8/10 21:59:00 -- 老师,执行代码的时候显示错误 “e” 是 “private” ,因此它在上下文中不可访问 错误代码是 Dim dr As DataRow = e.DataRow 这个应该怎么改?
|
-- 作者:大红袍 -- 发布时间:2016/8/10 22:02:00 -- 要写到DataColChanged事件
http://www.foxtable.com/webhelp/scr/1445.htm
|
-- 作者:18804248860 -- 发布时间:2016/8/10 22:09:00 -- 在 datacolchanged 里面写上之后 第四列里 显示的全是 000000 这得咋整 |
-- 作者:大红袍 -- 发布时间:2016/8/10 22:16:00 -- 以下是引用18804248860在2016/8/10 22:09:00的发言:
在 datacolchanged 里面写上之后 第四列里 显示的全是 000000 这得咋整
不应该,你输入值以后,肯定不是这样。
或者改一改
Select Case e.DataCol.Name Case "班级", "组", "号码" e.DataRow("工号") = Format(val(e.Datarow("班级")), "00") & Format(val(e.Datarow("组")), "00") & Format(val(e.Datarow("号码")), "00") End Select |
-- 作者:18804248860 -- 发布时间:2016/8/10 22:18:00 -- 改完好使了 感谢老师 |