Untuk membuat report dengan XtraReport, saya akan membaginya dalam beberapa tahap dan saya menggunakan database access untuk menampilkan data ke dalam XtraReport.
Dalam pembahasan ini, mungkin akan banyak gambar yang di tampilkan, sehingga untuk pemula yang menggunakan XtraReport bisa lebih membayangkan langkah langkah yang harus di perhatikan. Berikut tahapan dalam membuat report dengan Xtrareport.
Basic Control
Buatlah New Project untuk windows application sebagai latihan membuat report, kita namakan dengan XtraReportBasic, setelah terbentuk project, pada form1 lebarkan sesuai dengan keinginan anda, setelah itu masukkan control berikut kedalam form1.- PrintBarManager
- PrintingSystem
Baiklah, dalam tahap ini , control yang digunakan dalam pembuatan report hanya dua (2) seperti dalam penjelasan di atas.
Dataset
Dataset ini kita perlukan untuk mengambil field dalam table yang akan di tampilkan dalam report, dataset ini membantu untuk merancang tampilan di report sehingga report yang dibuat sesuai dengan keingginan kita.Dalam pembuatan Dataset ini tergantung dari database yang akan digunakan, setiap database mempunyai cara tersendiri untuk koneksinya dan dalam pembuatannya ada beberapa cara untuk membuat dataset, anda bisa melakukan dengan cara anda sendiri, tidak harus sama dengan artikel ini. Dalam contoh artikel ini, saya akan menggunakan database access.
Pada Project utama, klik kanan mouse, pilih Add, kemudian component, setelah itu pilihlah Dataset, maka akan terbentuk tampilan Dataset, pada Design Dataset klik kanan mouse, kemudian pilihlah TableAdapter, seperti gambar dibawah.
Setelah anda pilih TableAdapter, maka akan tampak seperti berikut :
Karena kita akan menggunakan database acces, maka kita harus mengganti Data Source, klik pada tombol Change, maka akan tampak seperti berikut :
Pilihlah Microsoft Access Database File, maka pada Data provider akan otomatis menjadi ".NET Framework Data Provider for OLEDB" , kemudian klik OK.
Setelah memilih Data Source, kemudian klik tombol Browse... ambil database yang akan digunakan, setelah selesai, masukkan Password database jika ada, jika tidak ada maka kosongkan saja. Jika ingin mencoba apakah koneksi ke database berhasil, tekan tombol Test Connection, jika koneksi berhasil maka akan muncul Connection Successeful, klik tombol OK jika telah selesai.
Pada "Create Method to Generate", anda bisa mengganti / merubah keterangan tersebut seperti pada gambar di atas. Jika sudah selesai tekan tombol Finish. maka akan terbentuk TableAdapter seperti pada gambar di bawah ini.
sampai pada posisi ini, kita telah melakukan dua langkah untuk mempersiapkan pembuatan report dengan XtraReport. kita akan melangkah ke tahapan berikutnya.
XtraReport Basic Design
Baiklah, kita sudah memasuki pada tahap tiga untuk pembuatan report, selanjutnya kita akan membuat tampilan dasar report untuk menampilkan data. Pada Project utama klik kanan mouse, kemudian pilih Add, kemudian pilih Component, pilih XtraReport Class xx.x (tergantung dari versi DevXpress)
maka akan terbentuk seperti berikut :
Pada tahap kedua (Dataset), kita telah membuat Dataset berikut dengan TableAdapter, sekarang kita akan menghubungkan Dataset tersebut dengan XtraReport.
Seperti pada gambar dia atas, langkah pertama , klik pada bagian tanda yang dilingkari warna merah, maka akan muncul menu seperti pada gambar di atas, kemudian langkah kedua adalah pada menu tersebut pilih Project Object, pilih DataSet1, kemudian lakukan seperti berikut :
Pada Data Source --> pilihlah DataSet1 (dataset yang telah dibuat)
Pada DataMember --> sample (table pada dataset)
Pada DataAdapter --> SampleTableAdapter
Karena yang dibuat hanya satu TableAdapter, maka akan otomatis terisi seperti di atas, jika lebih dari satu maka untuk DataMember dan DataAdapter harus dipilih sesuai dengan data yang akan di tampilkan . Jika telah selesai maka pada Toolbar Fields List, akan tampak DataSet1 dan jika Dropdown akan muncul TableAdapter sample seperti pada gambar di atas.
Pada tampilan lingkaran merah di atas tampak terbentuk dalam form report yaitu Dataset11 dan SampleTableAdapter . Selanjutnya pada Fields List untuk Dataset1 sample, klik dan tahan pada noid kemudian letakkan ke dalam form report pada bagian Detail, lakukan untuk semua fields seperti pada gambar di atas, anda bisa lebarkan sesuai dengan keinginan.
Untuk Detail, tingginya bisa di atur disesuaikan dengan field dengan cara klik kiri mouse dan seret ke atas sesuai dengan keinginan anda. Baiklah, anda bisa mempelajadi cara penampilan report disini, seperti header, footer dan lainnya di sini. Kita akan sudahi untuk Basic Design sampai disini dulu, kita tidak terlalu mempermasalahkan tampilan report.
Scripts Report
Inilah bagian akhir dari pembuatan report, dimana didalam program kita akan memanggil form report yang telah kita buat. Dalam Script ini, kita akan membuat koneksi ke database, kemudian menaruhnya didalam DataTable.
Dim xRpt As New XtraReport1
Dim oPS As New System.Drawing.Printing.PrinterSettings
xRpt.DataSource = dtTable
xRpt.DataMember = xRpt.DataMember
xRpt.PrinterName = oPS.PrinterName
xRpt.CreateDocument(True)
PrintControl1.PrintingSystem = xRpt.PrintingSystem
Karena kita akan tampilkan data pada saat load report maka taruh scripts tersebut pada saat load, jika telah selesai tekan tombol F5, maka akan muncul tampilan seperti berikut :
Anda sudah membuat Basic Report menggunakan XtraReport, anda bisa berkreasi lebih dalam lagi untuk membuat report yang sesuai dengan keinginan anda.
Download
mas udin, untuk xtrareport dengan parameter bagaimana yah, mis saya mau dapatkan data pertanggal 01/11/2011 s/d 11/11/2011 dengan kode bagiannya 001, dan apakah bisa xtrareport ukuran kertasnya di custome mis ukuran 11.5cm x 21.5cm. terima kasih mas atas bantuannya
ReplyDeletekalau pakai parameter, misalkan seperti script di atas, kemudian mas made tambahkan 3 parameter di reportnya.
ReplyDeleteParameter1 untuk DateEdit1, Parameter2 untuk DateEdit2 dan Parameter3 untuk Bagian.
Saya tambahkan script diatas menjadi seperti ini :
Dim xRpt As New XtraReport1
Dim oPS As New System.Drawing.Printing.PrinterSettings
xRpt.DataSource = dtTable
xRpt.DataMember = xRpt.DataMember
xRpt.PrinterName = oPS.PrinterName
xRpt.Parameters(0).Value = DateEdit1.EditValue
xRpt.Parameters(1).Value = DateEdit2.EditValue
xRpt.Parameters(2).Value = "001"
xRpt.CreateDocument(True)
PrintControl1.PrintingSystem = xRpt.PrintingSystem
untuk ukuran kertas saya sudah kasih tahu mas made, di comment mas made pada artikel yang lain...
mas se simple itu, oh.... thq nih, btw ukuran kertas artikelnya yg mana yah mas, dan apakah ini menggunakan server property mas, saya sebelumnya menggunakan crystal report ( setting kertas di tempat saya ok ), tapi saat untuk client koq tidak sesuai selalu mengarahkan ke letter terus.
ReplyDeletemas made...
ReplyDeletesaya buatkan tutorial sederhana....
Paper Size in XtraReport...
tapi ini juga bisa di terapkan untuk Crystal Report untuk beberapa step awalnya....
terima kasih mas udin, saya belum bisa membantu apa2x nih, coma do'anya aja, smoga selama ini yang di tulis n semuanya, menjadi amal ibadah mas udin. n sukses untuk mas udin dan keluarga. btw kalau boleh kenal dekat bisa gak nih.... kita kopdar .... wkwkwkwkk malah minta macam2x ... (sorry mas kalau banyak maunya).
ReplyDeletemakasih mas made untuk supportnya....
ReplyDeleteHatur nuhun Kang Udin,
ReplyDeleteberguna sekali buat project yang saya buat.
btw blog Kang Udin ini jadi bacaan wajib di google reader saya :D
mampir juga ke http://opik074.blogspot.com saya ada sedikit tulisan tentang devexpress yang mungkin berguna
mas opik074...
ReplyDeletesama-sama belajar mas.... disini saya bukan guru, tapi sama-sama murid yang sedang belajar, ilmu saya masih amat sangat dangkal.....
gan itu kan agan make 4 colom tabelnya,, trus untuk ganti cell gender yang 0=laki-laki dan 1=Perempuan gmn gan??
ReplyDeletemav ane lum ngerti gan,, msih basic nol besar..
thankz agan Sofyan
mas panji...
ReplyDeleteanda bisa melalui query sql... contoh:
SELECT custid, nama, (CASE WHEN (gender = 0 ) THEN "Laki Laki" ELSE "Perempuan" END ) AS gender FROM SAMPLE
lewat query ya mas sofyan,,
ReplyDeleteklo dimodel sperti CRystalReport,, direplace lewat formula.. di extra gmna mas sofyan,,
sipp trimakasih gan sofyann,, :D
soalnya klo bnyak yg ditampilkan ribet gan..
ReplyDeletemisal agama, kategori member, status member..
:'(
kalau di crystall report saya seperti ini :
ReplyDelete1. Buat baru Formula Field (kita berinama genderdesc)
2. Pilih Use Editor
3. Masuk Ke Formula, terus pilih Programming Shourcut --> Double click pada IIF(expression,TruePart,FalsePart)
4. karena saya mau ambil dari table sample dan fieldnya gender, maka rumusnya jadi seperti ini:
IIF ({sample.gender} =0 ,"Laki Laki" ,"Perempuan" )
5. save and close....
seperti itu mas panji....
dcrystal dah sering mas sofyan,, masalahnya di extraReport,, sya mau nampilkan, agama, kategori member, status member, yang mana di database pake angka smua.. klo di view kan harus di pindah lgi ke string(misal agama 1=Islam,2=Kristen Protestan,3=Hindu.. dll)
ReplyDeleteklo di ExtraReport modifikasi selain query lewat mana? apakah pake formating rules>condition itu ato gmn??..
maasih mas sofyan
ohh...
ReplyDelete1. tambahkan CalculateFields
2. Edit Expression
3. Iif([gender] = 0, 'Laki Laki' ,'Perempuan')
tapi DevExpress menyarankan kalau yang seperti itu melalui query mas panji...
ReplyDeleteoww gtu..
ReplyDeleteklo mau case lebih dari dua gmna mass..
CASE WHEN (religi = 1 ) THEN "ISLAM"
religi = 2 dst..
ane error trus :'(
makasih sbelumnya gan..
(CASE WHEN (religi= 1) THEN "ISLAM"
ReplyDeleteWHEN (religi = 2) THEN "KATOLIK"
WHEN (religi = 3) THEN "HINDU"
WHEN (religi = 4) THEN "BUDHA"
WHEN (religi = 5) THEN "PROTESTAN"
ELSE "APA YA..???" END ) AS religi
sorry ... ga buat pake query builder, tapi seperti itu
Oke Sipp mas Sofyan,, manteb..
ReplyDeletetpi ktika runtime, di extraReportnya,, kosong cellnya,, di querybuilder keluar..
:'(
pastikan pada waktu load ke tabledata datanya ada dan koneksinya benar...
ReplyDeletekalo ga keluar itu aja biasanya, step2nya pastikan seperti artikel di atas...
semua kluar dengan baik mas sofyan,, tpi cell yang ane case lewat query kosong?? gender sama religi kosong :'(
ReplyDeletegmna gan??
mas udin, masih mengenai report nih
ReplyDeletebisa ga mas bila membuat report nya dari engine report sendiri tp bisa di panggil dari project yang kita buat, jd terpisah gitu mas, karna kalo saya liat kok untuk file report itu makan size nya besar juga ya, kan bila digabung ke file .exe jd tambah memori..
maaf ni pertanyaan mendasar,maklum mas newbie
Mas Iril,
Deletehal seperti itu memang bisa, biasanya pakai Crystall Report, tapi saya belum pernah buat seperti itu, karna takut ada yang utak atik reportnya....
hallo mas udin
Deleteboleh tanya ga nih, saya pake xtrareport ni, tp pas di runing dikomputer lain kok gk jalan ya, apa xtrareport ini pake engine untuk client juga kyk crystalreport, mslhnya klo di runing dkmpter saya tdk ada masalah, trmksh mas udin
Mas Iril,
DeleteBiasanya hal tersebut karena dll untuk Xtrareport tidak masuk dalam Setup and Development, coba cek dan masukkan DevExpress.Printing..dll atau DevExpress.Report..dll kedalam project Setup and development.....
Mas udin,
Deletekalo tidak salah setup dan developmen cuma membundel file" yg kita pilih utk dbawa saja kan, ibarat kayak di rar gtu, kan sama saja klo kita pilih saja file" yg mau kita bawa termasuk file .exe dalam 1 folder, itu juga sudah bisa jalan kan, CMIIW
mas udin bisa ga koneksinya ga pake dataset.... mohon bantuanya yah...
ReplyDeletemasih bingung.... saya biasa pakai dataset/datatable untuk mengisi kolom, tapi bisa juga pakai datareader...
DeleteMas, saya mau tanya tentang XtraReport. Saya akan menggunakan XtraReport dengan menggunakan db MySQL (saya biasa mengatur koneksi secara manual). Nah solusinya bagaimana mas jika saya ingin menampilkan data yg ada di MySQL ke XtraReport? (Terutama secara manual/scripting)
ReplyDeleteMhon bantuannya mas. Terimakasih
Salam Sukses.
mas jimmy,
Deletecaranya tetep sama dengan di atas, hanya yang membedakan adalah koneksi ke database, itu saja...
Mas Udin, saya sudah bikin report tapi saat saya jalankan di komputer lain knp gak bisa yah,
ReplyDeletePrivate Sub btnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click
Try
Dim report As New XtraRptPO()
Dim rpt As New ReportPrintTool(report)
rpt.PreviewForm.MdiParent = Application.OpenForms(0)
'rpt.ShowPreview()
' Obtain a parameter, and set its value.
report.NoPOabc.Value = TxtIdPO.Text
' Hide the Parameters UI from end-users.
report.NoPOabc.Visible = False
' Show the report's print preview.
rpt.ShowPreview()
'report.ShowPreview()
Catch ex As Exception
XtraMessageBox.Show(ex.Message)
End Try
End Sub
kalau client connect ke komputer saya itu tdk masalah, tapi saat saya pindah databasenya ke komputer lain, utk client gak bisa menampilkan reportnya,
mohon sarannya mas udin. Terima kasih sebelumnya
mau nanya nih Mas,
ReplyDeleteSaya kan lagi pengin buat form untuk end user report designer
saya buatnya pake XRDesignPanel
yang jadi kendala, pada saat mau menyembunyikan report task/detail task, ternyata prosedurnya rumit (ilmunya belum sampai :-( )
ada sih tutorialnya, tapi kebanyakan dalam bahasa C#,
kalaupun ada yang vb.net, pas saya buka banyak sekali errornya (terutama karena beda versi, saya menggunakan versi 11.2)
tolongin dong mas...
mas, mau tanya mas . itu bagian script yg terakhir itu gmn ya mas .. saya kok gk bisa muncul reportnya . padahal di report class waktu priview bisa mas .. mohon bimbingannya mas
ReplyDeleteklo pake grafiknya di laporan xtrareportnya gimana mas udin??
ReplyDeletemau tanya ni, kalok nampilin data dari textbox atau variabel ke xtrareportnya gimana yaa
ReplyDelete