29 April 2019

Menyembunyikan Tab "Main Report" Pada CR Viewer

Tabulasi Main Report di report viewer cukup memakan ruang display laporan, terkadang ini tidak kita butuhkan. Bagaimana cara menghilangkannya?

Bagi pengembang yang memfanfaatkan Crystal Report sebagai alat pelaporan, tentu sering menjumpai adanya tabulasi "Main Report" saat menampilkan laporan menggunakan crystal report viewer, Dalam keadaan tertentu ini mengganggu. Bahkan akan lebih efektif jika tampilan yang tak berguna dan memakan space layar ini dihilangkan saja.

Berikut kode/script untuk menyembunyikan tabulasi tersebut sehingga ruang tampil laporan bisa lebih luas. Silahkan pilih sesuai bahasa yang di gunakan.

Private Sub HideReportTab(ByVal crViewer As CrystalDecisions.Windows.Forms.CrystalReportViewer)
        Dim control As Control
        Dim controlInPage As Control
        Dim tabs As TabControl
 
        For Each control In crViewer.Controls
            If TypeOf control Is CrystalDecisions.Windows.Forms.PageView Then
                For Each controlInPage In control.Controls
                    If TypeOf controlInPage Is TabControl Then
                        tabs = CType(controlInPage, TabControl)
                        tabs.ItemSize = New Size(0, 1)
                        tabs.SizeMode = TabSizeMode.Fixed
                    End If
                Next
            End If
        Next
 End Sub

C#
There is a better way to control tabs in CR for VS now:

You can control the Focus default:

// if no groups in report hide the group tree in viewer

if (rptClientDoc.DataDefController.DataDefinition.Groups.Count == 0)

{
    crystalReportViewer1.SetFocusOn(UIComponent.Page);

    
crystalReportViewer1.ToolPanelView = ToolPanelViewType.None;

}
else

{
    crystalReportViewer1.ToolPanelView = ToolPanelViewType.GroupTree;

    crystalReportViewer1.SetFocusOn(UIComponent.GroupTree);

}