Dev Express Report 动态表头设置

例:比如一个表头有多个值组成,但要实现动态显示时,要经过以下几步操作来完成;

步骤一:把要显示的动态值分开,把要实现动态的控件放到XrPanel中,前端设计完成;Dev Express Report 动态表头设置

步骤二:Dev Express Report 代码中写公共过程,方便在程序中调用传值,以下过程目的,码数数量小于等于15只显示一行码数及数量,码数数量小于等于30只显示二行码数及数量,以此类推。。。。(主要是实现XrPanel控件的显示及高度控制)

 Public Sub GetSizeDisPlay(ByVal IntSizeDisPlay As Object)
        Select Case IntSizeDisPlay
            Case Is <= 15
                Me.XrPanel1.Visible = False
                Me.XrTable3.Visible = False
                Me.XrTable11.Visible = False
                Me.XrPanel1.HeightF = 0
                Me.ReportHeader.HeightF = Me.ReportHeader.HeightF - 254 '报表表头动态:加XrPanel控件后,先设置XrPanel的高度,后设置ReportHeader高度(不加XrPanel控件,ReportHeader设置高度无效)
            Case Is <= 30
                Me.XrTable11.Visible = False
                Me.XrPanel1.HeightF = 127
                Me.ReportHeader.HeightF = Me.ReportHeader.HeightF - 127 '报表表头动态:加XrPanel控件后,先设置XrPanel的高度,后设置ReportHeader高度(不加XrPanel控件,ReportHeader设置高度无效)
        End Select
    End Sub

步骤三:调用界面中代码

'DEV XRport 报表对象
        Dim Report As New ReportsOrderManagement.frmC030_rpt02rpt()  ‘报表对象

 'DEV XRport 尺码显示控制
        Dim sqlSizeDisPlay As String
        Dim FDSSizeDisPlay As New DataSet
        sqlSizeDisPlay = "select SizeNo  from VC031_C030_C032  where ProdiD='" & txtProdID.Text & "' order by convert(int,Field2) "  ’查询当前单据中尺码
        FDSSizeDisPlay = op.exesqlreds(sqlSizeDisPlay)
        Report.GetSizeDisPlay(FDSSizeDisPlay.Tables(0).Rows.Count)‘把尺码数量传入报表过程中

’数据源部分省略。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

    '设置数据源
        Report.DataSource = ds

   ‘报表显示

 Report.ShowPreviewDialog()

相关文章: