以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  插入行之后的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=160446)

--  作者:wangglby
--  发布时间:2021/2/2 21:56:00
--  插入行之后的问题

表的datacolchanged放入了和行号相关的代码,如 e.DataRow("第一列") =CurrentTable.Position,

 

 

如在某一行之前插入一行,如何让在增加行之后的所有“第一列”的内容都发自动生变化


--  作者:wangglby
--  发布时间:2021/2/2 22:07:00
--  
以下是引用wangglby在2021/2/2 21:56:00的发言:

表的datacolchanged放入了和行号相关的代码,如 e.DataRow("第一列") =CurrentTable.Position,

 

 

如在某一行之前插入一行,如何让在增加行之后的所有“第一列”的内容都发自动生变化

  如,第一列,第二行的值为1,如果,在第一行和第二行增加1行,则,之前的第二行变为了第三行,值应该变为3,请问如何用代码实现。


--  作者:有点蓝
--  发布时间:2021/2/2 22:17:00
--  
DataRowAdded事件

dim idx as integer = tables(e.DataTable.name).findrow(e.datarow)
if idx = 0 then
e.DataRow("第一列") = 0
else
e.DataRow("第一列") = tables(e.DataTable.name).rows(idx-1)("第一列") + 1
end if
dim n as integer = e.DataRow("第一列")
for i as integer = idx+1 to tables(e.DataTable.name).rows.count - 1
tables(e.DataTable.name).rows("i")("第一列") = n+1
n = n+1
next