Quantcast
Channel: Crystal Reports
Viewing all articles
Browse latest Browse all 1507

how to change location lines and boxes object in crystalreport using vb.net

$
0
0

I want to change place for lines and boxes object in crystal report 11  ,so

I tried it but the boxes  it is not changed correctly in my report and  change size boxes ,I want change location only(position)

the lines change place for Vertical lines but the horizontal  lines is not show after change location lines

my code

 Private Sub BRL_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BRL.Click
        Try
            If Txtpth.Text <> Nothing Then



                Dim coninf As New ConnectionInfo

                rdoc.Load(Txtpth.Text)

                Dim pw As Decimal = rdoc.PrintOptions.PageContentWidth


                Dim crreportobject As CrystalDecisions.CrystalReports.Engine.ReportObject

               


                For Each crreportobject In rdoc.ReportDefinition.ReportObjects
                    If TypeOf (crreportobject) Is CrystalDecisions.CrystalReports.Engine.TextObject Then
                        If crreportobject.ObjectFormat.HorizontalAlignment <> Alignment.HorizontalCenterAlign Then
                            crreportobject.ObjectFormat.HorizontalAlignment = Alignment.RightAlign
                        End If
                        Dim tw As Decimal = crreportobject.Width
                        Dim nw As New Decimal
                        nw = pw - (crreportobject.Left + tw)
                        crreportobject.Left = nw

                    End If
                    If TypeOf (crreportobject) Is CrystalDecisions.CrystalReports.Engine.FieldObject Then
                        If crreportobject.ObjectFormat.HorizontalAlignment <> Alignment.HorizontalCenterAlign Then
                            crreportobject.ObjectFormat.HorizontalAlignment = Alignment.RightAlign
                        End If
                        Dim fw As Decimal = crreportobject.Width
                        Dim nw As New Decimal
                        nw = pw - (crreportobject.Left + fw)
                        crreportobject.Left = nw
                    End If


                    If TypeOf (crreportobject) Is CrystalDecisions.CrystalReports.Engine.LineObject Then
                        If DirectCast(crreportobject, LineObject).LineStyle = LineStyle.SingleLine Then
                            Dim fw As Decimal = crreportobject.Width
                            Dim nw As New Decimal
                            nw = pw - (crreportobject.Left + fw)
                            Dim b As Integer = DirectCast(crreportobject, LineObject).Bottom
                            Dim r As Decimal = DirectCast(crreportobject, LineObject).Right
                            Dim n As String = crreportobject.Name
                            Dim top As Integer = DirectCast(crreportobject, LineObject).Top
                            DirectCast(crreportobject, LineObject).Top = DirectCast(crreportobject, LineObject).Bottom
                            DirectCast(crreportobject, LineObject).Right = nw
                            DirectCast(crreportobject, LineObject).Left = nw
                            DirectCast(crreportobject, LineObject).Top = top
                            DirectCast(crreportobject, LineObject).LineStyle = LineStyle.SingleLine

                        ElseIf DirectCast(crreportobject, LineObject).LineStyle = LineStyle.DoubleLine Then
                            Dim fw As Decimal = crreportobject.Width
                            Dim nw As New Decimal
                            nw = pw - (crreportobject.Left + fw)
                            Dim b As Integer = DirectCast(crreportobject, LineObject).Bottom
                            Dim r As Decimal = DirectCast(crreportobject, LineObject).Right
                            Dim n As String = crreportobject.Name
                            Dim top As Integer = DirectCast(crreportobject, LineObject).Top
                            DirectCast(crreportobject, LineObject).Top = DirectCast(crreportobject, LineObject).Bottom
                            DirectCast(crreportobject, LineObject).Right = nw
                            DirectCast(crreportobject, LineObject).Left = nw
                            DirectCast(crreportobject, LineObject).Top = top
                            DirectCast(crreportobject, LineObject).LineStyle = LineStyle.DoubleLine

                        ElseIf DirectCast(crreportobject, LineObject).LineStyle = LineStyle.DashLine Then

                            Dim fw As Decimal = crreportobject.Width
                            Dim nw As New Decimal
                            nw = pw - (crreportobject.Left + fw)
                            Dim b As Integer = DirectCast(crreportobject, LineObject).Bottom
                            Dim r As Decimal = DirectCast(crreportobject, LineObject).Right
                            Dim n As String = crreportobject.Name
                            Dim top As Integer = DirectCast(crreportobject, LineObject).Top
                            DirectCast(crreportobject, LineObject).Top = DirectCast(crreportobject, LineObject).Bottom
                            DirectCast(crreportobject, LineObject).Right = nw
                            DirectCast(crreportobject, LineObject).Left = nw
                            DirectCast(crreportobject, LineObject).Top = top
                            DirectCast(crreportobject, LineObject).LineStyle = LineStyle.DashLine

                        ElseIf DirectCast(crreportobject, LineObject).LineStyle = LineStyle.BlankLine Then
                            Dim fw As Decimal = crreportobject.Width
                            Dim nw As New Decimal
                            nw = pw - (crreportobject.Left + fw)
                            Dim b As Integer = DirectCast(crreportobject, LineObject).Bottom
                            Dim r As Decimal = DirectCast(crreportobject, LineObject).Right
                            Dim n As String = crreportobject.Name
                            Dim top As Integer = DirectCast(crreportobject, LineObject).Top
                            DirectCast(crreportobject, LineObject).Top = DirectCast(crreportobject, LineObject).Bottom
                            DirectCast(crreportobject, LineObject).Right = nw
                            DirectCast(crreportobject, LineObject).Left = nw
                            DirectCast(crreportobject, LineObject).Top = top
                            DirectCast(crreportobject, LineObject).LineStyle = LineStyle.BlankLine
                        ElseIf DirectCast(crreportobject, LineObject).LineStyle = LineStyle.DotLine Then
                            Dim fw As Decimal = crreportobject.Width
                            Dim nw As New Decimal
                            nw = pw - (crreportobject.Left + fw)
                            Dim b As Integer = DirectCast(crreportobject, LineObject).Bottom
                            Dim r As Decimal = DirectCast(crreportobject, LineObject).Right
                            Dim n As String = crreportobject.Name
                            Dim top As Integer = DirectCast(crreportobject, LineObject).Top
                            DirectCast(crreportobject, LineObject).Top = DirectCast(crreportobject, LineObject).Bottom
                            DirectCast(crreportobject, LineObject).Right = nw
                            DirectCast(crreportobject, LineObject).Left = nw
                            DirectCast(crreportobject, LineObject).Top = top
                            DirectCast(crreportobject, LineObject).LineStyle = LineStyle.DotLine
                        ElseIf DirectCast(crreportobject, LineObject).LineStyle = LineStyle.FirstInvalidLineStyle Then
                            Dim fw As Decimal = crreportobject.Width
                            Dim nw As New Decimal
                            nw = pw - (crreportobject.Left + fw)
                            Dim b As Integer = DirectCast(crreportobject, LineObject).Bottom
                            Dim r As Decimal = DirectCast(crreportobject, LineObject).Right
                            Dim n As String = crreportobject.Name
                            Dim top As Integer = DirectCast(crreportobject, LineObject).Top
                            DirectCast(crreportobject, LineObject).Top = DirectCast(crreportobject, LineObject).Bottom
                            DirectCast(crreportobject, LineObject).Right = nw
                            DirectCast(crreportobject, LineObject).Left = nw
                            DirectCast(crreportobject, LineObject).Top = top
                            DirectCast(crreportobject, LineObject).LineStyle = LineStyle.FirstInvalidLineStyle
                        ElseIf DirectCast(crreportobject, LineObject).LineStyle = LineStyle.NoLine Then
                            Dim fw As Decimal = crreportobject.Width
                            Dim nw As New Decimal
                            nw = pw - (crreportobject.Left + fw)
                            Dim b As Integer = DirectCast(crreportobject, LineObject).Bottom
                            Dim r As Decimal = DirectCast(crreportobject, LineObject).Right
                            Dim n As String = crreportobject.Name
                            Dim top As Integer = DirectCast(crreportobject, LineObject).Top
                            DirectCast(crreportobject, LineObject).Top = DirectCast(crreportobject, LineObject).Bottom
                            DirectCast(crreportobject, LineObject).Right = nw
                            DirectCast(crreportobject, LineObject).Left = nw
                            DirectCast(crreportobject, LineObject).Top = top
                            DirectCast(crreportobject, LineObject).LineStyle = LineStyle.NoLine
                        End If
                    End If
                    'If TypeOf (crreportobject) Is SubreportObject Then
                    '    If crreportobject.ObjectFormat.HorizontalAlignment <> Alignment.HorizontalCenterAlign Then
                    '        crreportobject.ObjectFormat.HorizontalAlignment = Alignment.RightAlign
                    '    End If
                    '    Dim tw As Decimal = crreportobject.Width
                    '    Dim nw As New Decimal
                    '    nw = pw - (crreportobject.Left + tw)
                    '    crreportobject.Left = nw
                    'End If


                    If TypeOf (crreportobject) Is CrystalDecisions.CrystalReports.Engine.BoxObject Then
                        Dim tw As Decimal = crreportobject.Width
                        Dim nw As New Decimal
                        nw = pw - (crreportobject.Left + tw)
                        crreportobject.Left = nw
                    End If




                    If TypeOf (crreportobject) Is CrystalDecisions.CrystalReports.Engine.MapObject Then
                        Dim fw As Decimal = crreportobject.Width
                        Dim nw As New Decimal
                        nw = pw - (crreportobject.Left + fw)
                        crreportobject.Left = nw

                    End If
                    If TypeOf (crreportobject) Is CrystalDecisions.CrystalReports.Engine.PictureObject Then
                        Dim fw As Decimal = crreportobject.Width
                        Dim nw As New Decimal
                        nw = pw - (crreportobject.Left + fw)
                        crreportobject.Left = nw
                    End If
                    If TypeOf (crreportobject) Is CrystalDecisions.CrystalReports.Engine.OlapGridObject Then
                        Dim fw As Decimal = crreportobject.Width
                        Dim nw As New Decimal
                        nw = pw - (crreportobject.Left + fw)
                        crreportobject.Left = nw
                    End If

                    If TypeOf (crreportobject) Is CrystalDecisions.CrystalReports.Engine.GraphicObject Then
                        Dim fw As Decimal = crreportobject.Width
                        Dim nw As New Decimal
                        nw = pw - (crreportobject.Left + fw)
                        crreportobject.Left = nw
                    End If
                    If TypeOf (crreportobject) Is CrystalDecisions.CrystalReports.Engine.BlobFieldObject Then
                        Dim fw As Decimal = crreportobject.Width
                        Dim nw As New Decimal
                        nw = pw - (crreportobject.Left + fw)
                        crreportobject.Left = nw
                    End If
                    If TypeOf (crreportobject) Is CrystalDecisions.CrystalReports.Engine.CrossTabObject Then
                        Dim fw As Decimal = crreportobject.Width
                        Dim nw As New Decimal
                        nw = pw - (crreportobject.Left + fw)
                        crreportobject.Left = nw
                    End If
                    If TypeOf (crreportobject) Is CrystalDecisions.CrystalReports.Engine.ChartObject Then
                        Dim fw As Decimal = crreportobject.Width
                        Dim nw As New Decimal
                        nw = pw - (crreportobject.Left + fw)
                        crreportobject.Left = nw
                    End If

                Next

                Dim sec As Section
                Dim secs As Sections
                Dim rob As ReportObject
                Dim robs As ReportObjects
                Dim subrpobj As SubreportObject
                Dim subrp As ReportDocument
                secs = rdoc.ReportDefinition.Sections
                For Each sec In secs
                    robs = sec.ReportObjects
                    For Each rob In robs
                        If rob.Kind = ReportObjectKind.SubreportObject Then
                            subrpobj = CType(rob, SubreportObject)
                            subrp = subrpobj.OpenSubreport(subrpobj.SubreportName)
                            Dim ps As Decimal = rob.Width

                            Dim no As New Decimal
                            no = pw - (rob.Left + ps)
                            rob.Left = no
                            For Each rbj As ReportObject In subrp.ReportDefinition.ReportObjects
                                If TypeOf (rbj) Is TextObject Then
                                    If rbj.ObjectFormat.HorizontalAlignment <> Alignment.HorizontalCenterAlign Then
                                        rbj.ObjectFormat.HorizontalAlignment = Alignment.RightAlign
                                    End If
                                    Dim tw As Decimal = rbj.Width
                                    Dim ns As New Decimal
                                    ns = ps - (rbj.Left + tw)
                                    rbj.Left = ns
                                End If
                                If TypeOf (rbj) Is FieldObject Then
                                    If rbj.ObjectFormat.HorizontalAlignment <> Alignment.HorizontalCenterAlign Then
                                        rbj.ObjectFormat.HorizontalAlignment = Alignment.RightAlign
                                    End If
                                    Dim fw As Decimal = rbj.Width
                                    Dim ns As New Decimal
                                    ns = ps - (rbj.Left + fw)
                                    rbj.Left = ns
                                End If

                                If TypeOf (rbj) Is CrystalDecisions.CrystalReports.Engine.LineObject Then
                                    If DirectCast(rbj, LineObject).LineStyle = LineStyle.SingleLine Then
                                        Dim fw As Decimal = rbj.Width
                                        Dim nw As New Decimal
                                        nw = pw - (rbj.Left + fw)
                                        Dim b As Integer = DirectCast(rbj, LineObject).Bottom
                                        Dim r As Decimal = DirectCast(rbj, LineObject).Right
                                        Dim n As String = rbj.Name
                                        Dim top As Integer = DirectCast(rbj, LineObject).Top
                                        DirectCast(rbj, LineObject).Top = DirectCast(rbj, LineObject).Bottom
                                        DirectCast(rbj, LineObject).Right = nw
                                        DirectCast(rbj, LineObject).Left = nw
                                        DirectCast(rbj, LineObject).Top = top
                                        DirectCast(rbj, LineObject).LineStyle = LineStyle.SingleLine

                                    ElseIf DirectCast(rbj, LineObject).LineStyle = LineStyle.DoubleLine Then
                                        Dim fw As Decimal = rbj.Width
                                        Dim nw As New Decimal
                                        nw = pw - (rbj.Left + fw)
                                        Dim b As Integer = DirectCast(rbj, LineObject).Bottom
                                        Dim r As Decimal = DirectCast(rbj, LineObject).Right
                                        Dim n As String = rbj.Name
                                        Dim top As Integer = DirectCast(rbj, LineObject).Top
                                        DirectCast(rbj, LineObject).Top = DirectCast(rbj, LineObject).Bottom
                                        DirectCast(rbj, LineObject).Right = nw
                                        DirectCast(rbj, LineObject).Left = nw
                                        DirectCast(rbj, LineObject).Top = top
                                        DirectCast(rbj, LineObject).LineStyle = LineStyle.DoubleLine

                                    ElseIf DirectCast(rbj, LineObject).LineStyle = LineStyle.DashLine Then

                                        Dim fw As Decimal = rbj.Width
                                        Dim nw As New Decimal
                                        nw = pw - (rbj.Left + fw)
                                        Dim b As Integer = DirectCast(rbj, LineObject).Bottom
                                        Dim r As Decimal = DirectCast(rbj, LineObject).Right
                                        Dim n As String = rbj.Name
                                        Dim top As Integer = DirectCast(rbj, LineObject).Top
                                        DirectCast(rbj, LineObject).Top = DirectCast(rbj, LineObject).Bottom
                                        DirectCast(rbj, LineObject).Right = nw
                                        DirectCast(rbj, LineObject).Left = nw
                                        DirectCast(rbj, LineObject).Top = top
                                        DirectCast(rbj, LineObject).LineStyle = LineStyle.DashLine

                                    ElseIf DirectCast(rbj, LineObject).LineStyle = LineStyle.BlankLine Then
                                        Dim fw As Decimal = rbj.Width
                                        Dim nw As New Decimal
                                        nw = pw - (rbj.Left + fw)
                                        Dim b As Integer = DirectCast(rbj, LineObject).Bottom
                                        Dim r As Decimal = DirectCast(rbj, LineObject).Right
                                        Dim n As String = rbj.Name
                                        Dim top As Integer = DirectCast(rbj, LineObject).Top
                                        DirectCast(rbj, LineObject).Top = DirectCast(rbj, LineObject).Bottom
                                        DirectCast(rbj, LineObject).Right = nw
                                        DirectCast(rbj, LineObject).Left = nw
                                        DirectCast(rbj, LineObject).Top = top
                                        DirectCast(rbj, LineObject).LineStyle = LineStyle.BlankLine
                                    ElseIf DirectCast(rbj, LineObject).LineStyle = LineStyle.DotLine Then
                                        Dim fw As Decimal = rbj.Width
                                        Dim nw As New Decimal
                                        nw = pw - (rbj.Left + fw)
                                        Dim b As Integer = DirectCast(rbj, LineObject).Bottom
                                        Dim r As Decimal = DirectCast(rbj, LineObject).Right
                                        Dim n As String = rbj.Name
                                        Dim top As Integer = DirectCast(rbj, LineObject).Top
                                        DirectCast(rbj, LineObject).Top = DirectCast(rbj, LineObject).Bottom
                                        DirectCast(rbj, LineObject).Right = nw
                                        DirectCast(rbj, LineObject).Left = nw
                                        DirectCast(rbj, LineObject).Top = top
                                        DirectCast(rbj, LineObject).LineStyle = LineStyle.DotLine
                                    ElseIf DirectCast(rbj, LineObject).LineStyle = LineStyle.FirstInvalidLineStyle Then
                                        Dim fw As Decimal = rbj.Width
                                        Dim nw As New Decimal
                                        nw = pw - (rbj.Left + fw)
                                        Dim b As Integer = DirectCast(rbj, LineObject).Bottom
                                        Dim r As Decimal = DirectCast(rbj, LineObject).Right
                                        Dim n As String = rbj.Name
                                        Dim top As Integer = DirectCast(rbj, LineObject).Top
                                        DirectCast(rbj, LineObject).Top = DirectCast(rbj, LineObject).Bottom
                                        DirectCast(rbj, LineObject).Right = nw
                                        DirectCast(rbj, LineObject).Left = nw
                                        DirectCast(rbj, LineObject).Top = top
                                        DirectCast(rbj, LineObject).LineStyle = LineStyle.FirstInvalidLineStyle
                                    ElseIf DirectCast(rbj, LineObject).LineStyle = LineStyle.NoLine Then
                                        Dim fw As Decimal = rbj.Width
                                        Dim nw As New Decimal
                                        nw = pw - (rbj.Left + fw)
                                        Dim b As Integer = DirectCast(rbj, LineObject).Bottom
                                        Dim r As Decimal = DirectCast(rbj, LineObject).Right
                                        Dim n As String = rbj.Name
                                        Dim top As Integer = DirectCast(rbj, LineObject).Top
                                        DirectCast(rbj, LineObject).Top = DirectCast(rbj, LineObject).Bottom
                                        DirectCast(rbj, LineObject).Right = nw
                                        DirectCast(rbj, LineObject).Left = nw
                                        DirectCast(rbj, LineObject).Top = top
                                        DirectCast(rbj, LineObject).LineStyle = LineStyle.NoLine
                                    End If
                                End If

                              
                                If TypeOf (rbj) Is CrystalDecisions.CrystalReports.Engine.BoxObject Then
                                    Dim tw As Decimal = rbj.Width
                                    Dim nw As New Decimal
                                    nw = ps - (rbj.Left + tw)
                                    rbj.Left = nw
                                End If




                                If TypeOf (rbj) Is CrystalDecisions.CrystalReports.Engine.MapObject Then
                                    Dim fw As Decimal = rbj.Width
                                    Dim nw As New Decimal
                                    nw = ps - (rbj.Left + fw)
                                    rbj.Left = nw

                                End If
                                If TypeOf (rbj) Is CrystalDecisions.CrystalReports.Engine.PictureObject Then
                                    Dim fw As Decimal = rbj.Width
                                    Dim nw As New Decimal
                                    nw = ps - (rbj.Left + fw)
                                    rbj.Left = nw
                                End If
                                If TypeOf (rbj) Is CrystalDecisions.CrystalReports.Engine.OlapGridObject Then
                                    Dim fw As Decimal = rbj.Width
                                    Dim nw As New Decimal
                                    nw = ps - (rbj.Left + fw)
                                    rbj.Left = nw
                                End If
                                If TypeOf (rbj) Is CrystalDecisions.CrystalReports.Engine.GraphicObject Then
                                    Dim fw As Decimal = rbj.Width
                                    Dim nw As New Decimal
                                    nw = ps - (rbj.Left + fw)
                                    rbj.Left = nw
                                End If
                                If TypeOf (rbj) Is CrystalDecisions.CrystalReports.Engine.BlobFieldObject Then
                                    Dim fw As Decimal = rbj.Width
                                    Dim nw As New Decimal
                                    nw = ps - (rbj.Left + fw)
                                    rbj.Left = nw
                                End If
                                If TypeOf (rbj) Is CrystalDecisions.CrystalReports.Engine.CrossTabObject Then
                                    Dim fw As Decimal = rbj.Width
                                    Dim nw As New Decimal
                                    nw = ps - (rbj.Left + fw)
                                    rbj.Left = nw
                                End If
                                If TypeOf (rbj) Is CrystalDecisions.CrystalReports.Engine.ChartObject Then
                                    Dim fw As Decimal = rbj.Width
                                    Dim nw As New Decimal
                                    nw = ps - (rbj.Left + fw)
                                    rbj.Left = nw
                                End If


                            Next
                        End If
                    Next
                Next



                Lblrn.Visible = True
                Bsave.Visible = True
                txtsav.Visible = True


            Else

                MessageBox.Show("Choose report!")
            End If

        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

how can I change places box and (Horizontal)lines correctly for crystal report in vb.net

please help me

Thank's


Viewing all articles
Browse latest Browse all 1507

Trending Articles