FrmBatchPrint.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using ComponentFactory.Krypton.Toolkit;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Text.RegularExpressions;
  10. using System.Windows.Forms;
  11. namespace NXWMS.Forms.Base.ChildFrm
  12. {
  13. public partial class FrmBatchPrint : KryptonForm
  14. {
  15. public FrmBatchPrint()
  16. {
  17. InitializeComponent();
  18. }
  19. /// <summary>
  20. /// 模板地址
  21. /// </summary>
  22. private string _reportFolder = Application.StartupPath + "\\ReportMd\\";
  23. private void btnConfirm_Click(object sender, EventArgs e)
  24. {
  25. btnConfirm.Enabled = false;
  26. try
  27. {
  28. if (!Regex.IsMatch(ktb_SPalletCode.Text, @"([1-9]\d*(\.\d*[1-9])?)"))
  29. {
  30. KryptonMessageBox.Show($"托盘条码必须是数字类型!");
  31. return;
  32. }
  33. DataTable dt = new DataTable();
  34. DataColumn dc = new DataColumn("Ids");
  35. dt.Columns.Add(dc);
  36. dc = new DataColumn("PalletCode");
  37. dt.Columns.Add(dc);
  38. int ids = 0;
  39. for (int i = Convert.ToInt32(ktb_SPalletCode.Text); i < Convert.ToInt32(ktb_SPalletCode.Text) + knud_BatchPalletNum.Value; i++)
  40. {
  41. for (int j = 0; j < knud_EachPalletNum.Value; j++)
  42. {
  43. ids++;
  44. DataRow dr = dt.NewRow();
  45. dr["Ids"] = ids;
  46. dr["PalletCode"] = i;
  47. dt.Rows.Add(dr);
  48. }
  49. }
  50. DataSet dts = new DataSet();
  51. dts.Tables.Add(dt);
  52. FastReport.Report report = new FastReport.Report();
  53. string filename = _reportFolder + "托盘条码.frx";
  54. report.Load(filename);
  55. report.RegisterData(dts);
  56. report.Prepare();
  57. report.PrintSettings.ShowDialog = false;
  58. report.Print();
  59. report.Clear();
  60. KryptonMessageBox.Show("打印成功!");
  61. }
  62. catch (Exception ex)
  63. {
  64. KryptonMessageBox.Show($"批量打印托盘数据时发生异常:{ex.Message}");
  65. }
  66. btnConfirm.Enabled = true;
  67. }
  68. private void btnCancel_Click(object sender, EventArgs e)
  69. {
  70. this.Close();
  71. }
  72. private void FrmBatchPrint_Load(object sender, EventArgs e)
  73. {
  74. }
  75. }
  76. }