以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于Excel导出报表页码转换的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=121754)

--  作者:biaoai2011
--  发布时间:2018/7/12 15:32:00
--  [求助]关于Excel导出报表页码转换的问题
图片点击可在新窗口打开查看我想请教老师,我在窗口的控件内对主表“表A”录入文件名称和页码。比如说我录入的第一行的第一个文件页码为3页,第二行的文件页码为6页。导出目录的时候,我想让我的目录内的页码编号为第一行对应的文件页码显示为1-3,第二行的页码显示0 4-9.请问老师这个代码要怎么写。谢谢,
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:文件录入.zip


--  作者:有点蓝
--  发布时间:2018/7/12 16:42:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:文件录入.zip


--  作者:biaoai2011
--  发布时间:2018/7/12 16:51:00
--  
意思要直接加一列呀。。。。
--  作者:有点甜
--  发布时间:2018/7/12 17:29:00
--  
以下是引用biaoai2011在2018/7/12 16:51:00的发言:
意思要直接加一列呀。。。。

 

是的,需要辅助列。这一列是自动计算得出的。


--  作者:biaoai2011
--  发布时间:2018/7/17 23:06:00
--  
以下是引用有点蓝在2018/7/12 16:42:00的发言:
 下载信息  [文件大小:20.7 KB  下载次数:7]
图片点击可在新窗口打开查看点击浏览该文件:文件录入.zip
有点蓝老师,我想问您的是,您这个是在表内发生的事件,可是我的表的e.cancel=True,的,这样的话,我在窗口里录入值,但是实际上页码范围是没有发生变化的。这个代码要怎么改、


--  作者:有点甜
--  发布时间:2018/7/18 9:46:00
--  

datacolchanged事件,本来的事件代码删掉。

 

If e.DataCol.Name = "页码" Then
    Dim cnt As Integer = e.DataTable.Compute("sum(页码)","_sortkey <= " & e.DataRow("_sortkey") & " and _Identify <> " & e.DataRow("_Identify"))
    e.DataRow("页码范围") = (cnt +1) & "-" & (cnt + e.DataRow("页码"))
    Dim drs = e.DataTable.Select("_sortkey >= " & e.DataRow("_sortkey"))
    For i As Integer = 0 To drs.Count - 1
        Dim r As DataRow = drs(i)
        If r.IsNull("页码") = False Then
            r("页码范围") = (cnt +1) & "-" & (cnt + r("页码"))
            cnt = cnt + r("页码")
        End If
    Next
End If