Tutorial Crystal Report

59
Tutorial: Membuat Laporan Sederhana Menggunakan Crystal Report di Visual Studio 2010 Submitted by nurhidayat on Tue, 12/17/2013 - 10:19 Membuat Laporan Crystal Report | Kemampuan aplikasi untuk membuat sebuah laporan yang bisa dicetak ke printer adalah hal umum yang harus bisa dilakukan sebuah aplikasi desktop. Untuk itu skill ini amat sangat diperlukan oleh seorang programmer pengembang aplikasi desktop. Tutorial ini mencoba memberikan arahan langkah demi langkah cara menggunakan vb.net untuk membuat sebuah laporan crystal report sederhana namun professional menggunakan Push Method, artinya proses pengambilan data dari database dilakukan di luar Crystal Report , namun menggunakan DataSet, dan setelah data siap, Data Set bersangkutan di-Push ke Crystal Report. Studi kasus berupa Laporan Purchase Order. Aplikasi ini dibuat menggunakan C# karena dengan menguasai C# kita lebih mudah untuk migrasi ke bahasa lain seperti Java. Namun jika kita ingin membuatnya dalam bahasa lain, seperti VB.net, itu adalah hal yang sangat mudah karena coding dalam aplikasi ini hanya beberapa baris saja. Beberapa hal lain yang perlu diperhatikan antara lain, tutorial ini tidak membahas cara menjalankan Visual Studio, cara membuat Project baru, cara menambah Form atau DataSet baru, cara membuka Server Explorer dan sebangsanya. Ane berasumsi agan semua sudah mengetahui cara-caranya. Tutorial ini juga tidak membahas cara menyimpan data master detail ke dalam database, karena concern kita saat ini hanyalah manmpilkan data yang sudah ada dalam database menggunakan crystal report. Database yang digunakan adalah SQL Server Compact Database. Tutorial ini juga tidak membahas cara membuat database baru, cara koneksi database di .NET, cara design database yang baik dan lain sebagainya. Ane berasumsi agan semua sudah mengetahui cara-caranya. Membuat Project dan DataSet

description

Cara menggunaka crystal report unuk membuat laporan pada visual basic.net

Transcript of Tutorial Crystal Report

Tutorial: Membuat Laporan Sederhana Menggunakan Crystal Report di Visual Studio 2010Submitted by nurhidayat on Tue, 12/17/2013 - 10:19

Membuat Laporan Crystal Report | Kemampuan aplikasi untuk membuat sebuah laporan yang bisa dicetak ke printer adalah hal umum yang harus bisa dilakukan sebuah aplikasi desktop. Untuk

itu skill ini amat sangat diperlukan oleh seorang programmer pengembang aplikasi desktop. Tutorial ini mencoba memberikan arahan langkah demi langkah cara menggunakan

vb.net untuk membuat sebuah laporan crystal report sederhana namun professional menggunakan Push Method, artinya proses pengambilan data dari database dilakukan di luar

Crystal Report , namun menggunakan DataSet, dan setelah data siap, Data Set bersangkutan di-Push ke Crystal Report. Studi kasus berupa Laporan Purchase Order. Aplikasi ini dibuat

menggunakan C# karena dengan menguasai C# kita lebih mudah untuk migrasi ke bahasa lain seperti Java. Namun jika kita ingin membuatnya dalam bahasa lain, seperti VB.net, itu adalah hal

yang sangat mudah karena coding dalam aplikasi ini hanya beberapa baris saja.

Beberapa hal lain yang perlu diperhatikan antara lain, tutorial ini tidak membahas cara

menjalankan Visual Studio, cara membuat Project baru, cara menambah Form atau DataSet baru,

cara membuka Server Explorer dan sebangsanya. Ane berasumsi agan semua sudah mengetahui

cara-caranya. Tutorial ini juga tidak membahas cara menyimpan data master detail ke dalam

database, karena concern kita saat ini hanyalah manmpilkan data yang sudah ada dalam database

menggunakan crystal report. Database yang digunakan adalah SQL Server Compact Database.

Tutorial ini juga tidak membahas cara membuat database baru, cara koneksi database di .NET,

cara design database yang baik dan lain sebagainya. Ane berasumsi agan semua sudah

mengetahui cara-caranya.

 

Membuat Project dan DataSetBuat project baru dan Siapkan database, untuk tutorial ini ane pakai Local Database

(dbSample.sdf). Note: cara membuat project baru dan design database atau menggunakan

database lain tidak dibahas di sini.

HideDesain Database

Tambahkan DataSet baru, beri nama dsSample.xsd, setelah itu buka Database menggunakan

Server Explorer. Lakukanlah drag dan drop table yang ada di Database Explorer ke atas dataset

designer dsSample.xsd menjadi seperti yang ada di gambar.

HideDesain Datasat Setelah Proses Drag-Drop

Buat custom query untuk mengambil data Companies berdasarkan CompanyID, beri nama

method Fill dengan FillByCustomerID dan method Return DataTable dengan GetDataByCompanyID.

Note: Perhatikan step pembuatannya di gambar.

HideCustom query untuk table Companies

HideLangkah ke-1

HideLangkah ke-2

HideLangkah ke-3

HideLangkah ke-4

HideLangkah ke-5

HideLangkah ke-6

Buat custom query untuk mengambil data Orders berdasarkan OrderID, beri nama method Fill

dengan FillByOrderID dan method Return DataTable dengan GetDataByOrderID. Note: Perhatikan

step pembuatannya di gambar.

HideCustom query untuk table Orders

HideLangkah ke-1

HideLangkah ke-2

HideLangkah ke-3

HideLangkah ke-4

HideLangkah ke-5

HideLangkah ke-6

Buat custom query untuk mengambil data OrderDetails berdasarkan OrderID, beri nama

method Fill dengan FillByOrderID dan method Return DataTable dengan GetDataByOrderID. Note:

Perhatikan step pembuatannya di gambar.

HideCustom query untuk table OrderDetails

HideLangkah ke-1

HideLangkah ke-2

HideLangkah ke-3

HideLangkah ke-4

HideLangkah ke-5

HideLangkah ke-6

Buat custom query untuk mengambil data Items berdasarkan OrderID, beri nama method Fill

dengan FillByOrderID dan method Return DataTable dengan GetDataByOrderID. Note: Perhatikan

step pembuatannya di gambar.

HideCustom query untuk table Orders

HideLangkah ke-1

HideLangkah ke-2

HideLangkah ke-3

HideLangkah ke-4

HideLangkah ke-5

HideLangkah ke-6

Buat custom query untuk mengambil list Orders yang terdenormalisasi, beri nama method

Fill dengan FillList dan method Return DataTable dengan GetDataList. Note: Perhatikan step

pembuatannya di gambar.

HideCustom query untuk List Orders

HideLangkah ke-1

HideLangkah ke-2

HideLangkah ke-3

HideLangkah ke-4

HideLangkah ke-5

HideLangkah ke-6

Compile aplikasi (Ctrl-F5). Langkah ini penting agar dapat maju ke langkah berikutnya. Jika

tidak dilakukan kompilasi, maka Crystal Report tidak bisa menggunakan DataSet - yang kita

siapkan pada langkah sebelumnya - sebagai definisi report.

Sekarang DataSet sudah siap kita gunakan

HideHasil Akhir DataSet

 

Membuat Report DefinitionTambahkan Crystal Report ke project untuk laporan List Order, pilih "Using the Report Wizard"

untuk membuat definisi report, kemudian pilih Create New Connection > ADO.NET

(XML) sebagai data source dan arahkan File Path ke DataSet dsSample.xsd yang kita buat pada

langkah sebelumnya.

HideKoneksi report ke data source

HideUsing the Report Wizard

HideCreate New Connection

HideArahkan File Path

HideData source terkoneksi

Tambahkan ke Selected Tables: Companies, Orders, OrderDetails, dan Items ke list "Selected

Tables", kemudian klik next untuk melihat relasi antar tabel

HideSelected Tables

HideSelected Tables

HideRelationship antar Tabel

Tambahkan field-field yang yang akan ditampilkan ke list "Fields to Display", kemudian

tambahkan juga report grouping, summary, dan filtering jika diperlukan, akhiri dengan memilih

template yang diinginkan.

HideFields to Display

HideFields to Display

HideGrouping Fields

HideSummary Fields

HideFiltering Fields

HidePilih Templete

Tampilan standar dari wizard, Silakan ubah layoutnya sesuai keinginan agan, misalkan menjadi

seperti ini,

HideHasil report wizardwizard

HideTampilan standar dari wizard

Hideubah layoutnya

Tambahkan formula field untuk menghitung nilai order dengan cara klik kanan pada item

"Formula Field" di window "Field Explorer". Beri nama formula tersebut "ItemAmount" dan isikan

rumusnya seperti pada gambar, kemudian klik tombol "Save and Close" di pojok kanan. Note: agar

tidak perlu ketik ulang nama field di formula editor, bisa dengan cara klik ganda pada field yang

ada di Field Tree.

HideFormula Field

HideTambah Formula Field

HideTentukan Rumusnya

HideMasukkan formula field ke report

Tambahkan Subtotal untuk field ItemAmount, dengan cara klik kanan mouse pada field Item

Amount, kemudian pilih menu "Insert" -> "Summary", kemudian ubah "Summary Location"

menjadi "Group 1" Hasilnya akan muncul field summary persis di bawah field "ItemAmount".

ShowSubtotal

Rapikan layout report kita, misalnya menjadi seperti ini. Note: Jika "GroupFooterSection2" tidak

ada pada report, silahkan klik kanan mouse pada "GroupFooterSection" kemudian pilih menu

"Insert Section Below"

HideFinishing

 

Buat Form untuk Menampilkan Reportbuat form baru kemudian beri nama frmReportViewer, setelah itu drag dan drop komponen

CrystalReportViewer dari toolbox, hasilnya akan tampak seperti gambar di bawah ini.

Hidedesain form report viewer

Kemudian buka code editor dan tambahkan coding seperti di bawah ini. Metoda yang kita pakai

adalah dengan memanfaatkan constructor form untuk menerima argumen berupa report yang

akan di tampilkan.

Hidecoding form report viewer

?

1234

using CrystalDecisions.CrystalReports.Engine; public frmReportViewer(ReportClass rpt){    InitializeComponent();

5678910111213

    InitializeReport(rpt);}

 private void InitializeReport(ReportClass rpt){    this.crystalReportViewer1.ReportSource = rpt;    this.crystalReportViewer1.Zoom(0);}

 

Buat Form untuk List OrderBuka desain Form1, ubah namanya menjadi "frmMain" kemudian tambahkan 1 buah button dan 1

buah DataGridView seperti yang tampak dalam gambar. Selanjutnya menggunakan property

window, ubah nama button1 menjadi btnPrintForm, dan dataGridView1 menjadi grid1.

HideDesain Awal

Kemudian drag dan drop ke form dari toolbox grup "CrystalReports1 Components", dsSample dan

OrdersTableAdapter, sehingga desain form akan tampak sepert gambar di bawah ini. Selanjutnya

ubah property berikut ini untuk grid1,

DataSource = dsSample1

DataMember = Orders

ReadOnly = True

AllowUserToAddRows = False

AllowUserToDeleteRows = False

AutoSizeColumnMode = Fill

Jika sudah maka tampilan form akan berubah menjadi seperti gambar di bawah ini

 

HideSetelah Set Property untuk grid

Sekarang saatnya menambahkan coding untuk mengambil data dari database dan ditampilkan ke

grid. Silakan buka Code Editor dan tambahkan code seperti di bawah ini

Hidecode untuk retrieve list order

?

123

public frmMain(){    InitializeComponent();

45678910

    InitializeDatabase();}

 private void InitializeDatabase(){    ordersTableAdapter1.FillList(dsSample1.Orders);}

Coding untuk Menampilkan Report adalah sebagai berikut, Buka desain frmMain kemudian klik

ganda pada button btnPrintForm untuk membuka code editor, kemudian tambahkanlah code

seperti di bawah ini

HideCoding Tampilkan report

?

123456789101112131415161718192021222

private void btnPrintForm_Click(object sender, EventArgs e){    // ganti cursor    Cursor = Cursors.WaitCursor;

     // ambil OrderID    int col = 0;                                  // nomor index field OrderID    int row = grid1.SelectedCells[0].RowIndex;    // nomor index row yang dipilih    int id = (int)grid1[col, row].Value;          // order id yang terpilih     // siapkan pengambilan data yng ingin ditampilkan di report    dsSample ds = new dsSample();    OrdersTableAdapter orders = new OrdersTableAdapter();    OrderDetailsTableAdapter details = new OrderDetailsTableAdapter();    ItemsTableAdapter items = new ItemsTableAdapter();    CompaniesTableAdapter comp = new CompaniesTableAdapter();     // ambil data dari databse sesuai OrderID    comp.FillByCompanyID(ds.Companies, id);    items.FillByOrderID(ds.Items, id);    orders.FillByOrderID(ds.Orders, id);    details.FillByOrderID(ds.OrderDetails, id);

     // siapkan report    ReportClass rpt = new rptOrderForm();    rpt.SetDataSource(ds);

     // siapkan report viewer    Form f1 = new frmReportViewer(rpt);    f1.ShowDialog();

     // ganti cursor    Cursor = Cursors.Default;}

32425262728293031323334 

 

Hasilnya gan....Hasil akhir tampilan form aplikasi seperti ini

HideList Order

Hasil akhir tampilan report yang dihasilkan seperti ini

HideTampilan Report

Download Source Code di sini gan!HideSource Code silakan download di sini gan

- See more at: http://pojokprogrammer.net/content/tutorial-membuat-laporan-sederhana-menggunakan-crystal-report-di-visual-studio-2010#sthash.GppfhG5H.dpuf