以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  单据中插入行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=152729)

--  作者:hopestarxia
--  发布时间:2020/7/20 11:43:00
--  单据中插入行
明细表中有例为:单据ID,明细ID,单据ID+明细ID组成了主健;

其中明细ID在表的增加行的属性为:

e.DataRow("明细ID") = e.DataTable.Compute("Max(明细ID)") + 1,

我想在编辑明细表的窗口中增加一个插入行的按钮,实现如在第5行时时点插入行按钮时,明细ID 1-5不变,新增的行ID为6,原6以下的明细行,明细ID自动增加1,即原明细ID6变为7,7变为8,以此类推.

请问老师按钮中代码应该如何编行才能实现?
[此贴子已经被作者于2020/7/20 11:43:11编辑过]

--  作者:有点蓝
--  发布时间:2020/7/20 11:48:00
--  
大概:

dim r as row= tables(xx).insertrow
if r.index= 0 then
  r("明细ID") = 1
else
  r("明细ID") = tables(xx).rows(r.index-1)("明细ID")+1
end if

for i as integer = r.index+1 to tables(xx).rows.count
if tables(xx).rows(i)("单据ID") = r("单据ID") then
tables(xx).rows(i)("明细ID") = tables(xx).rows(i-1)("明细ID")+1
else
exit for
endif
next

--  作者:hopestarxia
--  发布时间:2020/7/21 14:47:00
--  
谢谢老师