none
DATASET [UNTUK REKAN Wahyu VB .Net]

    Question

  • maksud saya bukan pengesetan seperti itu, pengesetan yg seperti itu hanya berlaku jika database yg digunakan berada di desktop

    seperti yg saya gunakan (datatable) data yg di tampilkan k report tdk langsung mengambil dari database melainkan menampilkan data yg ada pada datatable

    jadi jika data yg ada di datatable bukan dari database melainkan berasal dari coding maka datanya tetap akan muncul ke report

    contoh pengesetan datasource & data berasal dari coding:

    Dim dt As New DataTable
    
    'membuat kolom.
    With dt.Columns
        .Add("ID", GetType(String))
        .Add("Nama Lengkap", GetType(String))
    End With
    
    'menambah data.
    For i = 1 To 5
        dt.Rows.Add("ID" & i, "Nama Lengkap" & i)
    Next
    
    'set datasource ReportDocument.
    LaporanBiodata1.SetDataSource(dt)
    
    'menampilkan report.
    CrystalReportViewer1.ReportSource = LaporanBiodata1
    crystalReport11.Load()

    dan maaf hasilnya tdk bisa d posting karena setiap posting gmbar/link selalu muncul peringatan

    "Body text cannot contain images or links until we are able to verify your account."

    padahal akun sudah d konfirmasi, dan pada posting pertama bisa posting link


    Thursday, October 18, 2012 4:31 AM

Answers

  • Halo Om Ahmad Rofi’i,

    Ternyata nasib baik masih berpihak kepada anda. Betul sekali, ternyata ada literatur mengenai setting manual sebuah crystal report. Jadi pada kesempatan kali ini, saya akan berbagi dengan anda. Buatlah satu project baru, setelah itu buatlah sebuah CodeFile pada project anda. Mengenai nama code file tersebut, biarkan saja secara default, jadi bernama CodeFile1.vb. Setelah itu ketikkan kode berikut ini pada code file tersebut:

    'class ini akan menampung/menyimpan record biodata...
    Public Class Biodata
        'variabel penampung/menyimpan...
        Dim vID, vNama, vJabatan As String
        'membuat field/kolom id...
        Property Id() As String
            Get
                Return vID
            End Get
            Set(ByVal value As String)
                vID = value
            End Set
        End Property
        'membuat field/kolom nama...
        Property Nama() As String
            Get
                Return vNama
            End Get
            Set(ByVal value As String)
                vNama = value
            End Set
        End Property
        'membuat field/kolom jabatan...
        Property Jabatan() As String
            Get
                Return vJabatan
            End Get
            Set(ByVal value As String)
                vJabatan = value
            End Set
        End Property
        'jalan pintas membuat record secara cepat...
        Sub New(ByVal Id As String, ByVal Nama As String, ByVal Jabatan As String)
            MyBase.New()
            vID = Id
            vNama = Nama
            vJabatan = Jabatan
        End Sub
    End Class

    Setelah selesai membuat ini, langsung saja anda membuat ReportDocument. Langkah panduannya akan saya berikan dalam bentuk gambar saja, seperti berikut ini:

    Setelah selesai, segeralah anda kembali lagi ke CodeFile1, dan ketikkan berikut ini:

    'collection base ini akan menampung/menyimpan record biodata dalam jumlah banyak...
    Public Class KoleksiBiodata
        Inherits CollectionBase
        'cara membuat class biodata...
        Function Add(ByVal o As Biodata) As Biodata
            Me.List.Add(o)
            Return o
        End Function
        'cara berinteraksi antar class biodata...
        Default ReadOnly Property Item(ByVal Urutan As Integer) As Biodata
            Get
                Return CType(Me.List(Urutan), Biodata)
            End Get
        End Property
        'cara membuat array list...
        Function GetArray() As ArrayList
            Dim a As New ArrayList
            If Me.Count <> 0 Then
                For b As Integer = 0 To Me.Count - 1
                    a.Add(Me.Item(b))
                Next
            End If
            Return a
        End Function
    End Class

    Selesai dari sini, langsung saja anda menuju ke Form1, dan desainlah seperti berikut ini:

    Setelah selesai, barulah anda masuk ke jendela kode Form1, dan ketikkan berikut ini:

    Public Class Form1
        'deklarasikan koleksibiodata...
        Dim vKolBiodata As New KoleksiBiodata
        'ButtonClick akan menampung event button1 dan button2...
        Private Sub ButtonClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click
            Try
                'bila button1 yang di klik...
                If sender Is Button1 Then
                    'matikan datasource-nya datagridview...
                    DataGridView1.DataSource = Nothing
                    'buatlah class biodata yang baru melalui vKolBiodata...
                    vKolBiodata.Add(New Biodata(vKolBiodata.Count + 1, "", ""))
                    'alihkan datasource yang di datagridview ke vKolBiodata...
                    DataGridView1.DataSource = vKolBiodata
                End If
                'bila button2 yang di klik...
                If sender Is Button2 Then
                    'alihkan setdatasource yang di laporanBiodata1 ke vKolBiodata...
                    laporanBiodata1.SetDataSource(vKolBiodata.GetArray)
                    'alihkan reportsource yang di CrystalReportViewer1 ke laporanBiodata1...
                    CrystalReportViewer1.ReportSource = laporanBiodata1
                End If
            Catch ex As Exception
            End Try
        End Sub
        Private Sub DataGridView1_CellValueChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
            Try
                'bila ada perubahan nilai pada datagridview,
                'maka langsung merubah nilai yang ada pada vKolBiodata...
                vKolBiodata(e.RowIndex).Id = DataGridView1.Rows(e.RowIndex).Cells(0).Value
                vKolBiodata(e.RowIndex).Nama = DataGridView1.Rows(e.RowIndex).Cells(1).Value
                vKolBiodata(e.RowIndex).Jabatan = DataGridView1.Rows(e.RowIndex).Cells(2).Value
            Catch ex As Exception
            End Try
        End Sub
    End Class

    Sampai disinilah tutorial saya untuk om Ahmad Rofi’i, saya tunggu perkembangannya dari anda.



    Thursday, October 18, 2012 12:23 PM

All replies

  • Untuk versi virtual memory, dalam artian tidak dibuat file fisiknya, saya rasa masih ada kemungkinan bisa. Sayangnya saya udah lama meninggalkan dunia control, hahahaha. Maklumlah, saya udah bosan dengan control, dan sekarang hanya berada di ruang lingkup GDI+ saja. Maaf banget nih kalo om Ahmad Rofi'i kecewa.
    Thursday, October 18, 2012 7:08 AM
  • Halo Om Ahmad Rofi’i,

    Ternyata nasib baik masih berpihak kepada anda. Betul sekali, ternyata ada literatur mengenai setting manual sebuah crystal report. Jadi pada kesempatan kali ini, saya akan berbagi dengan anda. Buatlah satu project baru, setelah itu buatlah sebuah CodeFile pada project anda. Mengenai nama code file tersebut, biarkan saja secara default, jadi bernama CodeFile1.vb. Setelah itu ketikkan kode berikut ini pada code file tersebut:

    'class ini akan menampung/menyimpan record biodata...
    Public Class Biodata
        'variabel penampung/menyimpan...
        Dim vID, vNama, vJabatan As String
        'membuat field/kolom id...
        Property Id() As String
            Get
                Return vID
            End Get
            Set(ByVal value As String)
                vID = value
            End Set
        End Property
        'membuat field/kolom nama...
        Property Nama() As String
            Get
                Return vNama
            End Get
            Set(ByVal value As String)
                vNama = value
            End Set
        End Property
        'membuat field/kolom jabatan...
        Property Jabatan() As String
            Get
                Return vJabatan
            End Get
            Set(ByVal value As String)
                vJabatan = value
            End Set
        End Property
        'jalan pintas membuat record secara cepat...
        Sub New(ByVal Id As String, ByVal Nama As String, ByVal Jabatan As String)
            MyBase.New()
            vID = Id
            vNama = Nama
            vJabatan = Jabatan
        End Sub
    End Class

    Setelah selesai membuat ini, langsung saja anda membuat ReportDocument. Langkah panduannya akan saya berikan dalam bentuk gambar saja, seperti berikut ini:

    Setelah selesai, segeralah anda kembali lagi ke CodeFile1, dan ketikkan berikut ini:

    'collection base ini akan menampung/menyimpan record biodata dalam jumlah banyak...
    Public Class KoleksiBiodata
        Inherits CollectionBase
        'cara membuat class biodata...
        Function Add(ByVal o As Biodata) As Biodata
            Me.List.Add(o)
            Return o
        End Function
        'cara berinteraksi antar class biodata...
        Default ReadOnly Property Item(ByVal Urutan As Integer) As Biodata
            Get
                Return CType(Me.List(Urutan), Biodata)
            End Get
        End Property
        'cara membuat array list...
        Function GetArray() As ArrayList
            Dim a As New ArrayList
            If Me.Count <> 0 Then
                For b As Integer = 0 To Me.Count - 1
                    a.Add(Me.Item(b))
                Next
            End If
            Return a
        End Function
    End Class

    Selesai dari sini, langsung saja anda menuju ke Form1, dan desainlah seperti berikut ini:

    Setelah selesai, barulah anda masuk ke jendela kode Form1, dan ketikkan berikut ini:

    Public Class Form1
        'deklarasikan koleksibiodata...
        Dim vKolBiodata As New KoleksiBiodata
        'ButtonClick akan menampung event button1 dan button2...
        Private Sub ButtonClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click
            Try
                'bila button1 yang di klik...
                If sender Is Button1 Then
                    'matikan datasource-nya datagridview...
                    DataGridView1.DataSource = Nothing
                    'buatlah class biodata yang baru melalui vKolBiodata...
                    vKolBiodata.Add(New Biodata(vKolBiodata.Count + 1, "", ""))
                    'alihkan datasource yang di datagridview ke vKolBiodata...
                    DataGridView1.DataSource = vKolBiodata
                End If
                'bila button2 yang di klik...
                If sender Is Button2 Then
                    'alihkan setdatasource yang di laporanBiodata1 ke vKolBiodata...
                    laporanBiodata1.SetDataSource(vKolBiodata.GetArray)
                    'alihkan reportsource yang di CrystalReportViewer1 ke laporanBiodata1...
                    CrystalReportViewer1.ReportSource = laporanBiodata1
                End If
            Catch ex As Exception
            End Try
        End Sub
        Private Sub DataGridView1_CellValueChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
            Try
                'bila ada perubahan nilai pada datagridview,
                'maka langsung merubah nilai yang ada pada vKolBiodata...
                vKolBiodata(e.RowIndex).Id = DataGridView1.Rows(e.RowIndex).Cells(0).Value
                vKolBiodata(e.RowIndex).Nama = DataGridView1.Rows(e.RowIndex).Cells(1).Value
                vKolBiodata(e.RowIndex).Jabatan = DataGridView1.Rows(e.RowIndex).Cells(2).Value
            Catch ex As Exception
            End Try
        End Sub
    End Class

    Sampai disinilah tutorial saya untuk om Ahmad Rofi’i, saya tunggu perkembangannya dari anda.



    Thursday, October 18, 2012 12:23 PM
  • ngomong2 soal class saya masih perlu banyak belajar, maklumlah dulu waktu sekolah tdk pernah d ajari class, dan sebagian besar ilmu pemrograman yg saya dapat berasal dari internet, biasanya kalau buat class cuma bisa copy paste saja, heheheheheee....

    terima kasih atas tutorialnya, akan saya coba

    Friday, October 19, 2012 1:37 AM
  • Kalo gitu sekalian saya tambahin. Gambaran sebuah class adalah sebuah air, tidak memiliki wujud. Hanya akan berwujud bilamana ada wadahnya. Bingung kan? Saya akan kasih contoh berikut ini:

    Public Class FormDariWahyu
        Inherits Forms
    End Class
    Public Class FormDariAhmadRofii
        Inherits Forms
    End Class
    Coba Anda ketik kode diatas di sebuah file, semisal CodeFile. Dan setelah itu langsung menuju ke My Explorer, dan klik combobox Startup forms. Selamat merenungi, hahaha.
    Friday, October 19, 2012 5:45 AM