以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]新增行的行号  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=60038)

--  作者:tommywen01
--  发布时间:2014/11/17 11:38:00
--  [求助]新增行的行号
数据表中有一列“序号”,希望“序号”的内容等于行号。
请问表事件DataRowAdded应该怎么写?
e.Datarow("序号") = CurrentTable.Current.Index
上述这句不行,因为Current不是新增的这一行。

试了半天没试出结果来。

--  作者:Bin
--  发布时间:2014/11/17 11:38:00
--  
e.Datarow("序号") = e.datatable.datarows.count-1
--  作者:tommywen01
--  发布时间:2014/11/17 11:40:00
--  
为什么要-1呢?
--  作者:有点甜
--  发布时间:2014/11/17 11:41:00
--  
以下是引用tommywen01在2014-11-17 11:40:00的发言:
为什么要-1呢?

 

那你就不减一呗


--  作者:tommywen01
--  发布时间:2014/11/17 11:56:00
--  
不好意思,还想再问,如果想"序号"还按合同号来分应该怎么写?
即先找出同一合同号的有多少项,再把序号设为项数加1.
e.Datarow("序号") = e.datatable.datarows.Find("合同号" = "Y0101").Count+1?

--  作者:有点甜
--  发布时间:2014/11/17 12:00:00
--  

你新增行的时候,没有给合同号赋值啊。

 

e.Datarow("序号") = e.datatable.Compute("count(合同号)", "合同号 = \'Y0101\'") + 1