private void printBill_Load(object sender, EventArgs e) { //ReportDocument report = new ReportDocument(); //report.Load(@"C:\Users\liuja\source\repos\WindowsFormsApp1\WindowsFormsApp1\CrystalReport1.rpt"); //report.SetDataSource(dt); //crystalReportViewer1.ReportSource = report; SqlConnection con = new SqlConnection(); con.ConnectionString = constring; con.Open(); //string sql = "SELECT dm.nama_makanan as [Nama Makanan], dt.quantity , dt.harga FROM transaksi t join detail_transaksi dt on t.transaksi_id = dt.transaksi_id join daftar_makanan dm on dt.daftarMakanan_id = dm.daftarMakanan_id where t.status_pesanan=1 and t.transaksi_id = '" + transid + "' group by dm.nama_makanan, dt.quantity, dt.harga order by dm.nama_makanan"; //SqlDataAdapter dscmd = new SqlDataAdapter(sql, con); //DataSet ds = new DataSet(); //dscmd.Fill(ds, "transaksi"); //con.Close(); SqlDataAdapter sqlda = new SqlDataAdapter("invoice", con); sqlda.SelectCommand.CommandType = CommandType.StoredProcedure; sqlda.SelectCommand.Parameters.AddWithValue("@transid", transid); DataSet ds = new DataSet(); sqlda.Fill(ds); con.Close(); CrystalReport1 objRpt = new CrystalReport1(); objRpt.SetDataSource(ds.Tables["transaksi"]); crystalReportViewer1.ReportSource = objRpt; objRpt.SetParameterValue("transid", transid); objRpt.SetParameterValue("tanggal", DateTime.Now.ToString("MM/dd/yyyy")); objRpt.Database.Tables["Nama Makanan"].SetDataSource(ds.Tables[1]); objRpt.Database.Tables["quantity"].SetDataSource(ds.Tables[2]); objRpt.Database.Tables["harga"].SetDataSource(ds.Tables[3]); crystalReportViewer1.Refresh(); }