private void btnPrint_Click(object sender, RoutedEventArgs e) { if (ResultGridView.Items.Count > 0) { DataTable dtOrders = ((DataView)ResultGridView.ItemsSource).Table; DataTable dtRestaurantInfo = GlobalClass.GetRestaurantInfo(); string AddressLine1 = ""; string AddressLine2 = ""; if (dtRestaurantInfo != null) { if (dtRestaurantInfo.Rows.Count > 0) { AddressLine1 = dtRestaurantInfo.Rows[0]["RestaurantName"].ToString() + ", " + dtRestaurantInfo.Rows[0]["Address"].ToString(); AddressLine2 = "Phone: " + dtRestaurantInfo.Rows[0]["PhoneNumber"].ToString() + " " + dtRestaurantInfo.Rows[0]["WebsiteURL"].ToString() + " " + dtRestaurantInfo.Rows[0]["Email"].ToString(); } } ReportParameter[] arrParams = new ReportParameter[4]; arrParams[0] = new ReportParameter("rpm_FromDate", dtFromDate.Value.ToShortDateString()); arrParams[1] = new ReportParameter("rpm_ToDate", dtToDate.Value.ToShortDateString()); arrParams[2] = new ReportParameter("rpm_AddressLine1", AddressLine1); arrParams[3] = new ReportParameter("rpm_AddressLine2", AddressLine2); string reportPath = Environment.CurrentDirectory + "\\ReportSrc"; ReportPrintClass objReportPrintClass = new ReportPrintClass("PublicDataSet_OrdersList_SellReport", dtOrders, reportPath + "\\Report_Sell.rdlc", arrParams, 8.27, 11.69, 0.5, 0.5, 0.2, 0.2); PrinterSettings ps = new PrinterSettings(); PrinterSettings.StringCollection printersList = PrinterSettings.InstalledPrinters; string[] arrPrinters = new string[printersList.Count]; for (int i = 0; i < printersList.Count; i++) { arrPrinters[i] = printersList[i]; } CustomPrintDialog objCustomPrintDialog = new CustomPrintDialog(arrPrinters); if (objCustomPrintDialog.ShowDialog() == true) { objReportPrintClass.Print(objCustomPrintDialog.printerName, 1); } objReportPrintClass.Dispose(); } else { MessageBox.Show("There is no item to print!","", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void btnPrint_Click(object sender, RoutedEventArgs e) { Cursor = Cursors.Wait; if (OrderGridView.ItemsSource != null) { DataTable dtOrderDetail=((DataView)OrderGridView.ItemsSource).Table; DataTable dtRestaurantInfo = GlobalClass.GetRestaurantInfo(); string AddressLine1 = ""; string AddressLine2 = ""; if (dtRestaurantInfo != null) { if (dtRestaurantInfo.Rows.Count > 0) { AddressLine1 = dtRestaurantInfo.Rows[0]["RestaurantName"].ToString() + ", " + dtRestaurantInfo.Rows[0]["Address"].ToString(); AddressLine2 = "Phone: " + dtRestaurantInfo.Rows[0]["PhoneNumber"].ToString() + " " + dtRestaurantInfo.Rows[0]["WebsiteURL"].ToString() + " " + dtRestaurantInfo.Rows[0]["Email"].ToString(); } } ReportParameter[] arrParams = new ReportParameter[6]; arrParams[0] = new ReportParameter("rpm_Date", GlobalClass.GetCurrentDateTime().ToShortDateString()); arrParams[1] = new ReportParameter("rpm_CustomerName",txbCustomerName.Text); arrParams[2] = new ReportParameter("rpm_OrderNo", txbOrderNo.Text); arrParams[3] = new ReportParameter("rpm_TableNo", txbTableNo.Text); arrParams[4] = new ReportParameter("rpm_AddressLine1", AddressLine1); arrParams[5] = new ReportParameter("rpm_AddressLine2", AddressLine2); string reportPath = Environment.CurrentDirectory + "\\ReportSrc"; ReportPrintClass objReportPrintClass = new ReportPrintClass("PublicDataSet_OrderDetail", dtOrderDetail, reportPath + "\\Report_Receipt.rdlc", arrParams, 8.27, 11.69, 0.5, 0.5, 0.2, 0.2); PrinterSettings ps = new PrinterSettings(); PrinterSettings.StringCollection printersList = PrinterSettings.InstalledPrinters; string[] arrPrinters = new string[printersList.Count]; for (int i = 0; i < printersList.Count; i++) { arrPrinters[i] = printersList[i]; } Cursor = Cursors.Arrow; CustomPrintDialog objCustomPrintDialog = new CustomPrintDialog(arrPrinters); if (objCustomPrintDialog.ShowDialog() == true) { objReportPrintClass.Print(objCustomPrintDialog.printerName, 1); } objReportPrintClass.Dispose(); } }