以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]批量增加行的时候如何自动编号?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=158586)

--  作者:minxizai
--  发布时间:2020/11/25 15:47:00
--  [求助]批量增加行的时候如何自动编号?

DataRowAdded 设置如下代码:

e.DataRow("标本号") = Vars("bbh") & (Tables("核酸登记").Current.Index + 1) \\ 10 + Vars("bbsz")

新增一行可以自动编号,但是我一次新增多行就不行。代码换到BeforeAddDataRow、DataRowAdding都不行。

换到DataColChanged中,

select case e.datacol.name

case "_Identify"

e.DataRow("标本号") = Vars("bbh") & (Tables("核酸登记").Current.Index + 1) \\ 10 + Vars("bbsz")

end select 

也不行



--  作者:有点蓝
--  发布时间:2020/11/25 15:52:00
--  
Current.Index这种只是临时的值,用来生成业务数据不合适,建议使用这种方式:http://www.foxtable.com/webhelp/topics/2403.htm
--  作者:minxizai
--  发布时间:2020/11/25 15:56:00
--  
核酸登记十人一组,编号相同,所以才用行号,不用行号不会每十人编号加一
--  作者:有点蓝
--  发布时间:2020/11/25 16:04:00
--  
那么建议不要在表事件里处理了,手工新增处理吧,比如:

dim r as row
for i as integer = 1 to 20
r = tables("核酸登记").addnew
r("标本号") = xxxx
next

--  作者:minxizai
--  发布时间:2020/11/25 16:10:00
--  
谢谢