Hi Team
I want to get the value and name to my pdf, so that users can print from the selected printers. Currently i can only do that in A4 size not with printers names when selected for PDF, in simple english i cant get property name(Weight with its value) from the printers when selected.
// print method
private void btnPrint_Click(object sender, EventArgs e)
{
string paths = "", appPath = "";
try
{
if (ID > 0)
{
if (txtBatchNumber.Text == "" || txtNumberOfLabel.Text == "" || txtWeight.Text == "")
{
MessageBox.Show("Please fill in all required information.", "Required Information");
return;
}
DataRow[] dr = dt.Select("ID=" + ID);
var name = dr[0]["Recipe_Name"].ToString();
var description = dr[0]["Recipe_Description"].ToString();
string reportName = "";
string optionSelected = "";
if (cboPrintOption.SelectedValue.ToString() == "1") //Thermal Printer Small
{
optionSelected = "ThermalSmall";
reportName = Properties.Settings.Default.ReportNameSmallThermal;
}
else if (cboPrintOption.SelectedValue.ToString() == "2") //Thermal Printer Large
{
optionSelected = "ThermalLarge";
reportName = Properties.Settings.Default.ReportNameLargeThermal;
}
else if (cboPrintOption.SelectedValue.ToString() == "3") //A4
{
optionSelected = "A4";
reportName = Properties.Settings.Default.ReportNameA4;
}
#region InsertPrintAudit
string names = description;
string concatName = string.Concat("M", name.Substring(1));
int LabelID = 0;
string weightDisplay = "Weight: " + txtWeight.Text;
#endregion InsertPrintAudit
CreateBarcodeDataTable();
if (optionSelected == "A4")
{
if (cboPrinter.Text.Contains("ZDesigner"))
{
MessageBox.Show("A4 cannot be printed to selected Printer. Please choose a different printer", "Invalid Printer");
return;
}
LabelID = 12345;
for (int i = 1; i <= Convert.ToInt32(txtNumberOfLabel.Text); i++)
{
if (DevEnvironment != '1')
LabelID = this.SavePrintingInfo(name, Convert.ToInt32(txtSeriesNumber.Text), txtBatchNumber.Text, Convert.ToDecimal(txtWeight.Text), concatName);
dtPrintedBarcode.Rows.Add("*" + LabelID.ToString().PadLeft(8, '0') + "*", names, txtBatchNumber.Text, name, weightDisplay, DateTime.Now.ToString("yyyy-MM-dd")
);
}
if (DevEnvironment == '1')
{
appPath = Path.Combine(path, @"Report\" + reportName);
}
else
{
appPath = Path.Combine(Application.StartupPath, @"Report\" + reportName);
}
cry.Load(appPath);
cry.SetDataSource(dtPrintedBarcode);
crystalReportViewer1.ReportSource = cry;
string PrinterName = this.printDocument1.PrinterSettings.PrinterName;
cry.PrintOptions.PrinterName = PrinterName;
printDocument1.PrinterSettings.PrinterName = cboPrinter.Text.ToString();
cry.Refresh();
cry.PrintOptions.PrinterName = cboPrinter.Text.ToString();
cry.PrintToPrinter(1, false, 1, 2);
}
else if (optionSelected == "ThermalSmall")
{
PrintToThermal(LabelID, names, name, reportName, paths, appPath, concatName);
dtPrintedBarcode.Rows.Add("*" + LabelID.ToString().PadLeft(8, '0') + "*", names, txtBatchNumber.Text, name, weightDisplay, DateTime.Now.ToString("yyyy-MM-dd")
) ;
}
else if (optionSelected == "ThermalLarge")
{
PrintToThermal(LabelID, names, name, reportName, paths, appPath, concatName);
dtPrintedBarcode.Rows.Add("*" + LabelID.ToString().PadLeft(8, '0') + "*", names, txtBatchNumber.Text, name, weightDisplay, DateTime.Now.ToString("yyyy-MM-dd"));
}
ClearAllInfo();
}
else
{
MessageBox.Show("Please select a record to print.", "Record");
}
txtSeriesNumber.Text = "";
crystalReportViewer1.ReportSource = null;
crystalReportViewer1.Refresh();
}
catch (Exception ex)
{
MessageBox.Show(ex.InnerException.ToString() + " Path: " + Environment.CurrentDirectory + @"\");
if (ex.InnerException.ToString().Contains("cannot find the file"))
{
MessageBox.Show("Path: " + appPath + " " + paths);
}
}
}
// Print to names when selected
public void PrintToThermal(int LabelID, string names, string name, string reportName, string paths, string appPath, string concatName)
{
LabelID = 123456;
string weightDisplay = "Weight: " + txtWeight.Text;
CreateBarcodeDataTable();
for (int i = 1; i <= Convert.ToInt32(txtNumberOfLabel.Text); i++)
{
if (DevEnvironment == '1')
{
appPath = Path.Combine(path, @"Report\" + reportName);
}
else
{
LabelID = this.SavePrintingInfo(name, Convert.ToInt32(txtSeriesNumber.Text), txtBatchNumber.Text, Convert.ToDecimal(txtWeight.Text), concatName);
appPath = Path.Combine(Application.StartupPath, @"Report\" + reportName);
}
dtPrintedBarcode.Rows.Add("*" + LabelID.ToString().PadLeft(8, '0') + "*", names, txtBatchNumber.Text, weightDisplay, concatName, DateTime.Now.ToString("yyyy-MM-dd"));
cry.Load(appPath);
cry.SetDataSource(dtPrintedBarcode);
crystalReportViewer1.ReportSource = cry;
//Default printer
//string PrinterName = this.printDocument1.PrinterSettings.PrinterName;
//cry.PrintOptions.PrinterName = PrinterName;
printDocument1.PrinterSettings.PrinterName = cboPrinter.Text.ToString();
cry.Refresh();
cry.PrintOptions.PrinterName = cboPrinter.Text.ToString();
cry.PrintToPrinter(1, false, 1, 2);
dtPrintedBarcode.Rows.Clear();
}
cry.SetDataSource(dtAllPrintedBarcodes);
crystalReportViewer1.ReportSource = cry;
cry.Refresh();
}