public virtual CrystalDecisions.CrystalReports.Engine.ReportDocument CreateReport() { rpt_productsAboutToFinish rpt = new rpt_productsAboutToFinish(); rpt.Site = this.Site; return(rpt); }
private void btnPrintList_Click(object sender, EventArgs e) { dbSchemaAsDataSet ds = new dbSchemaAsDataSet(); // object of the database schema typical as the source of the report SqlDataAdapter da = new SqlDataAdapter(); // dataadapter used to fill the dataset stockStatusReports.rpt_productsAboutToFinish r = new stockStatusReports.rpt_productsAboutToFinish(); // object of the report Reports.frm_crRpt f = new Reports.frm_crRpt(); // object of the report viewer form // to change the text report headline according to the formsate CrystalDecisions.CrystalReports.Engine.TextObject txtReportHeader; txtReportHeader = r.ReportDefinition.ReportObjects["txtHeadLine"] as TextObject; if (fState == formState.productsAboutToFinish) { DialogResult dr = MessageBox.Show("هل تريد ارفاق المنتجات المنتهية من المخزن ضمن التقرير ؟", "ارفاق المنتجات المنتهية ايضا", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); if (dr == DialogResult.Yes) { da = _reportsAndInfo.getLstProductsAboutToFinish(true); } else if (dr == DialogResult.No) // did't use if..else bcz the user might press cancel { da = _reportsAndInfo.getLstProductsAboutToFinish(); } f.Text = "تقرير المنتجات التي قاربت علي الانتهاء من المخزن"; //change the form title } else if (fState == formState.outOfStockProducts) { da = _reportsAndInfo.getLstOutOfStockProducts(); f.Text = "تقرير بالمنتجات المنتهية من المخزن"; txtReportHeader.Text = "تقرير بالمنتجات المنتهية من المخزن"; } else if (fState == formState.inStockProducts) { da = _reportsAndInfo.getLstInOfStockProducts(); f.Text = "تقرير جرد المنتجات الموجودة بالمخزن"; txtReportHeader.Text = "تقرير جرد المنتجات الموجودة في المخزن"; } da.Fill(ds, "v_get_products_with_details"); r.Refresh(); r.SetDataSource(ds); f.crystalReportViewer1.ReportSource = r; f.Show(); }