以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.com/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
--  
改完好使了 感谢老师