找回密码
 立即注册

QQ登录

只需一步,快速开始

jinqiong
论坛元老   /  发表于:2013-11-25 14:05  /   查看:5941  /  回复:4
vb6: Detail.PrintSection()
这个我之前问过,然后说这个属性在Activereports 7中无需对应该方法

但是现在测试发现,这个方法是用来在Detail的Format事件里面做循环用的,
假如有10条数据,如果没有这个方法,就只能出来一条,所以这个方法可能还是需要
有对应的属性或者是其他的方法来替换吧

4 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-11-25 15:09:00
沙发
在AR7中Detail区域会根据数据源的数量进行循环显示,比如数据源有10行数据,那么程序会执行10次Detail.Format事件,然后你可以在Detail.Format事件中完成你的业务逻辑。
回复 使用道具 举报
jinqiong
论坛元老   /  发表于:2013-11-25 15:14:00
板凳
但是我这边的程序没有循环,是需要设置什么其他特别的属性吗?
回复 使用道具 举报
jinqiong
论坛元老   /  发表于:2013-11-25 15:23:00
地板
下面是我程序的Detail的Format事件的代码

Private Sub Detail_Format(sender As Object, e As EventArgs) Handles Detail.Format

        On Error GoTo ErrorHandler

        If m_lngCnt > UBound(G_FjAddrPrt) Then
            Exit Sub
        End If

        With G_FjAddrPrt(m_lngCnt)
            '----------------------------------------
            ' 明細データセット
            '----------------------------------------
            If m_intDetailCnt = CM_MaxDataCnt + 1 Then             '明細MAX + 1で改ページ
                Fields("DTCNT").Value = Fields("DTCNT").Value + 1
                Detail.NewPage = SectionReportModel.NewPage.Before

                m_intDetailCnt = 0
            Else
                Detail.NewPage = SectionReportModel.NewPage.None

            End If
            '----------------------------------------------------------
            m_intDetailCnt = m_intDetailCnt + 1     '行件数

            '----------------------------------------------------------
            m_lngCnt = m_lngCnt + 1                 'レコード件数
        End With


        Exit Sub
ErrorHandler:
        'エラーログ出力
        Call gsPutLog(Err.Number & ":" & Err.Description)

    End Sub
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-11-25 19:36:00
5#
jinqiong

你在AR设计界面,选中Detail区域,然后在属性窗口中的事件页面中指定Detail的Format事件处理方法为Detail_Format看能否循环调用该方法,如果还是不行,请将该测试报表发送给我看看。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部