Halaman

WARNING!!
Please do not post links crack / patch in your comment

Tuesday, November 1, 2011

Create Report (Basic) With XtraReport DevExpress

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.




Jika telah selesai, maka anda hanya tekan tombol Next untuk berikutnya sampai pada posisi nomor 4 pada gambar diatas, pada gambar di atas saya mengambil semua data pada table sample, anda bisa membuat query tersendiri melalui Query Builder.., jika sudah selesai tekan tombol Next


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



35 comments:

  1. 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

    ReplyDelete
  2. kalau pakai parameter, misalkan seperti script di atas, kemudian mas made tambahkan 3 parameter di reportnya.
    Parameter1 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...

    ReplyDelete
  3. 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.

    ReplyDelete
  4. mas made...
    saya buatkan tutorial sederhana....
    Paper Size in XtraReport...

    tapi ini juga bisa di terapkan untuk Crystal Report untuk beberapa step awalnya....

    ReplyDelete
  5. 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).

    ReplyDelete
  6. makasih mas made untuk supportnya....

    ReplyDelete
  7. Hatur nuhun Kang Udin,
    berguna 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

    ReplyDelete
  8. mas opik074...
    sama-sama belajar mas.... disini saya bukan guru, tapi sama-sama murid yang sedang belajar, ilmu saya masih amat sangat dangkal.....

    ReplyDelete
  9. gan itu kan agan make 4 colom tabelnya,, trus untuk ganti cell gender yang 0=laki-laki dan 1=Perempuan gmn gan??
    mav ane lum ngerti gan,, msih basic nol besar..
    thankz agan Sofyan

    ReplyDelete
  10. mas panji...
    anda bisa melalui query sql... contoh:

    SELECT custid, nama, (CASE WHEN (gender = 0 ) THEN "Laki Laki" ELSE "Perempuan" END ) AS gender FROM SAMPLE

    ReplyDelete
  11. lewat query ya mas sofyan,,
    klo dimodel sperti CRystalReport,, direplace lewat formula.. di extra gmna mas sofyan,,

    sipp trimakasih gan sofyann,, :D

    ReplyDelete
  12. soalnya klo bnyak yg ditampilkan ribet gan..
    misal agama, kategori member, status member..
    :'(

    ReplyDelete
  13. kalau di crystall report saya seperti ini :
    1. 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....

    ReplyDelete
  14. 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)
    klo di ExtraReport modifikasi selain query lewat mana? apakah pake formating rules>condition itu ato gmn??..

    maasih mas sofyan

    ReplyDelete
  15. ohh...
    1. tambahkan CalculateFields
    2. Edit Expression
    3. Iif([gender] = 0, 'Laki Laki' ,'Perempuan')

    ReplyDelete
  16. tapi DevExpress menyarankan kalau yang seperti itu melalui query mas panji...

    ReplyDelete
  17. oww gtu..
    klo mau case lebih dari dua gmna mass..
    CASE WHEN (religi = 1 ) THEN "ISLAM"
    religi = 2 dst..
    ane error trus :'(

    makasih sbelumnya gan..

    ReplyDelete
  18. (CASE WHEN (religi= 1) THEN "ISLAM"
    WHEN (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

    ReplyDelete
  19. Oke Sipp mas Sofyan,, manteb..
    tpi ktika runtime, di extraReportnya,, kosong cellnya,, di querybuilder keluar..
    :'(

    ReplyDelete
  20. pastikan pada waktu load ke tabledata datanya ada dan koneksinya benar...

    kalo ga keluar itu aja biasanya, step2nya pastikan seperti artikel di atas...

    ReplyDelete
  21. semua kluar dengan baik mas sofyan,, tpi cell yang ane case lewat query kosong?? gender sama religi kosong :'(
    gmna gan??

    ReplyDelete
  22. mas udin, masih mengenai report nih
    bisa 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

    ReplyDelete
    Replies
    1. Mas Iril,
      hal seperti itu memang bisa, biasanya pakai Crystall Report, tapi saya belum pernah buat seperti itu, karna takut ada yang utak atik reportnya....

      Delete
    2. hallo mas udin
      boleh 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

      Delete
    3. Mas Iril,
      Biasanya 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.....

      Delete
    4. Mas udin,
      kalo 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

      Delete
  23. mas udin bisa ga koneksinya ga pake dataset.... mohon bantuanya yah...

    ReplyDelete
    Replies
    1. masih bingung.... saya biasa pakai dataset/datatable untuk mengisi kolom, tapi bisa juga pakai datareader...

      Delete
  24. Mas, 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)

    Mhon bantuannya mas. Terimakasih
    Salam Sukses.

    ReplyDelete
    Replies
    1. mas jimmy,
      caranya tetep sama dengan di atas, hanya yang membedakan adalah koneksi ke database, itu saja...

      Delete
  25. Mas Udin, saya sudah bikin report tapi saat saya jalankan di komputer lain knp gak bisa yah,

    Private 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

    ReplyDelete
  26. mau nanya nih Mas,
    Saya 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...

    ReplyDelete
  27. 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

    ReplyDelete
  28. klo pake grafiknya di laporan xtrareportnya gimana mas udin??

    ReplyDelete
  29. mau tanya ni, kalok nampilin data dari textbox atau variabel ke xtrareportnya gimana yaa

    ReplyDelete

Note: Only a member of this blog may post a comment.

Search This Blog