private void ReportProductStockLimitForm_Load(object sender, EventArgs e) { DataSet dsTempReport = new DataSet(); try { string appPath = ""; appPath = Directory.GetCurrentDirectory() + "\\" + globalConstants.ProductStockLimitXML; dsTempReport.ReadXml(@appPath); //prepare report for preview ReportProductStockLimit rptXMLReport = new ReportProductStockLimit(); CrystalDecisions.CrystalReports.Engine.TextObject txtReportHeader1, txtReportHeader2; txtReportHeader1 = rptXMLReport.ReportDefinition.ReportObjects["NamaTokoLabel"] as TextObject; txtReportHeader2 = rptXMLReport.ReportDefinition.ReportObjects["InfoTokoLabel"] as TextObject; //baca database untuk nama toko String nama, alamat, telepon, email; if (!gutil.loadinfotoko(2, out nama, out alamat, out telepon, out email)) { //reset default opsi = 1 if (!gutil.loadinfotoko(1, out nama, out alamat, out telepon, out email)) { nama = "TOKO DEFAULT"; alamat = "ALAMAT DEFAULT"; telepon = "0271-XXXXXXX"; email = "*****@*****.**"; } } txtReportHeader1.Text = nama; txtReportHeader2.Text = alamat + Environment.NewLine + telepon + Environment.NewLine + email; rptXMLReport.Database.Tables[0].SetDataSource(dsTempReport.Tables[0]); crystalReportViewer1.ReportSource = rptXMLReport; crystalReportViewer1.Refresh(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public virtual CrystalDecisions.CrystalReports.Engine.ReportDocument CreateReport() { ReportProductStockLimit rpt = new ReportProductStockLimit(); rpt.Site = this.Site; return rpt; }