using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Drawing.Printing; using System.IO; using HH.WMS.Client; using Newtonsoft.Json; using DevComponents.DotNetBar.Controls; using System.Collections; using Newtonsoft.Json.Linq; using System.Net; using System.Management; using HH.WMS.Client.Common; using HH.WMS.Entitys.Basic; using HH.WMS.Entitys.Entitys.PrintDataSource; using HH.WMS.Client.frm; using HH.WMS.Entitys.Sys; using DevComponents.DotNetBar; using HH.WMS.Entitys.wxys; namespace WindowsFormsApplication2 { public partial class OrderPrintForWxys : frmTemplet { //全局变量 DataTable dt = new DataTable(); private string currentPrintOrder = ""; public OrderPrintForWxys() { InitializeComponent(); } /// /// 物料编码 /// public bool isItems { get; set; } private void ItemTagPrint_Load(object sender, EventArgs e) { dgvWaitPrintDg.AutoGenerateColumns = false; PrintService(); GetOrder(); GetPrintCodeType(); setOrderType(); setWorkArea(); GetPrinter(); GetBarMode(); DevComponents.DotNetBar.ButtonItem btnItemSet = new DevComponents.DotNetBar.ButtonItem(); btnItemSet.Image = global::HH.WMS.Client.Properties.Resources.moban; btnItemSet.ItemAlignment = DevComponents.DotNetBar.eItemAlignment.Center; //btnItemHome.Name = "btnItemHome"; btnItemSet.PopupWidth = 100; btnItemSet.Text = "设置"; btnItemSet.Click += btnItemSet_Click; //btnItemSet.ItemAlignment = DevComponents.DotNetBar.eItemAlignment.Far; this.AddMenu(btnItemSet); } void btnItemSet_Click(object sender, EventArgs e) { frmTempletSet from = new frmTempletSet(); from.ShowDialog(); } //填充表格 public void BindData(string opNo) { dgvlist.Refresh(); string str = ""; var type = this.cmbOrderType.Text; if (type == "入库单") { str = WebApiManager.HttpWMS_Get("/api/In/GetListInventoryDtl?opNo=" + opNo); } else if (type == "采购单") { str = WebApiManager.HttpWMS_Get("/api/In/GetInDtlList?opNo=" + opNo); } else if (type == "到货单") { str = WebApiManager.HttpWMS_Get("/api/Arrival/GetDtlList?opNo=" + opNo); } OperateResult results = JsonConvert.DeserializeObject(str); dgvlist.AutoGenerateColumns = false; this.dgvlist.DataSource = results.Data; SetPrintQty(); } #region 计算打印数量 public void SetPrintQty() { List items = new List(); foreach (DataGridViewRow r in this.dgvlist.Rows) { items.Add(r.Cells["CN_S_ITEM_CODE"].Value.ToString()); } string str = WebApiManager.HttpWMS_Get("/api/Item/GetItemModels?itemCodes=" + string.Join(",", items)); OperateResult results = JsonConvert.DeserializeObject(str); if (results.Status == ResultStatus.Success) { List itemlist = JsonConvert.DeserializeObject>(results.Data.ToString()); foreach (DataGridViewRow r in this.dgvlist.Rows) { AutoBomItemEntity item = itemlist.Find(x => x.CN_S_ITEM_CODE.Equals(r.Cells["CN_S_ITEM_CODE"].Value.ToString())); if (item == null) { MessageBoxEx.Show("Mongo中未找到该物料!"); return; } if (item.CN_F_MIN_PACK_QTY == 0) { r.Cells["CN_F_MIN_PACK_QTY"].Value = Convert.ToInt16(r.Cells["CN_F_QUANTITY"].Value); r.Cells["PrintQuantity"].Value = 1; } else { r.Cells["CN_F_MIN_PACK_QTY"].Value = item.CN_F_MIN_PACK_QTY; r.Cells["PrintQuantity"].Value = Convert.ToInt16(Convert.ToInt16(r.Cells["CN_F_QUANTITY"].Value) / item.CN_F_MIN_PACK_QTY); } } } } #endregion //事件处理方法 void frm_TransfEvent(string value) { BindData(value); } /// /// 绑定选择Item的数据源 /// /// public void GetItemlist(DataTable ds) { isItems = true; dgvlist.Refresh(); dgvlist.AutoGenerateColumns = false; ds.Columns.Add("PrintQuantity"); foreach (DataRow dr in ds.Rows) dr["PrintQuantity"] = 1; this.dgvlist.DataSource = ds; //results.Data; } #region 加载打印机 /// /// 加载打印机 /// public void GetPrinter() { PrintDocument print = new PrintDocument(); string sDefault = print.PrinterSettings.PrinterName;//默认打印机名 var printers = PrinterSettings.InstalledPrinters;//获取全部打印机 foreach (string sPrint in PrinterSettings.InstalledPrinters)//获取所有打印机名称 { cmbPrinter.Items.Add(sPrint); cmbPrinterList.Items.Add(sPrint); locationPrinters.Items.Add(sPrint); } } #endregion //加载单据 public void GetOrder() { DataTable dt = new DataTable(); dt.Columns.Add("id", typeof(string)); dt.Columns.Add("name", typeof(string)); dt.Rows.Add("0", "--请选择--"); dt.Rows.Add("1", "入库单"); dt.Rows.Add("2", "采购单"); dt.Rows.Add("3", "到货单"); this.cmbOrderType.DataSource = dt; this.cmbOrderType.ValueMember = "id"; this.cmbOrderType.DisplayMember = "name"; } /// /// 获取模板类型 /// /// [HanHe(yjl)] CREATED 2019/7/10 private void GetPrintCodeType() { DataTable dt = new DataTable(); dt.Columns.Add("id", typeof(string)); dt.Columns.Add("name", typeof(string)); dt.Rows.Add("0", "--请选择--"); dt.Rows.Add("1", "货位码"); dt.Rows.Add("2", "托盘码"); dt.Rows.Add("3", "料箱码"); dt.Rows.Add("4", "指令批号"); dt.Rows.Add("5", "工单号"); this.cmbPrintCodeType.DataSource = dt; this.cmbPrintCodeType.ValueMember = "id"; this.cmbPrintCodeType.DisplayMember = "name"; } public void setOrderType() { DataTable dt = new DataTable(); dt.Columns.Add("id", typeof(string)); dt.Columns.Add("name", typeof(string)); //dt.Rows.Add("0", "--请选择--"); dt.Rows.Add("1", "产品入库单"); dt.Rows.Add("2", "生产领料单"); dt.Rows.Add("3", "退库单"); dt.Rows.Add("4", "其他出库单"); dt.Rows.Add("5", "其他入库单"); this.orderTypes.DataSource = dt; this.orderTypes.ValueMember = "id"; this.orderTypes.DisplayMember = "name"; } public void setWorkArea() { DataTable dt = new DataTable(); dt.Columns.Add("id", typeof(string)); dt.Columns.Add("name", typeof(string)); //JsonConvert.DeserializeObject(str, typeof(DataTable)) as DataTable; string str = WebApiManager.HttpWMS_Get("/api/YuShouApi/GetDictionary?dictName=工作中心"); HH.WMS.Common.Log.Info("获取工作中心结果:", str); dt = JsonConvert.DeserializeObject(str, typeof(DataTable)) as DataTable; //dt.Rows.Add("1", "产品入库单"); //dt.Rows.Add("2", "生产领料单"); //dt.Rows.Add("3", "退库单"); //dt.Rows.Add("4", "其他出库单"); //dt.Rows.Add("5", "其他入库单"); this.cmbWorkArea.DataSource = dt; this.cmbWorkArea.ValueMember = "NAME"; this.cmbWorkArea.DisplayMember = "NAME"; } #region 获取bartender文件模版 /// /// 获取bartender文件模版 /// public void GetBarMode() { this.cmbBartender.Items.Clear(); string path = @"ActionReport/Template/"; DirectoryInfo root = new DirectoryInfo(path); FileInfo[] files = root.GetFiles(); foreach (FileInfo m in files) this.cmbBartender.Items.Add(m.Name); //string str = WebApiManager.HttpWMS_Get("/api/PrintTemplet/GetPrintTemplet?ip=" + StaticUtil.Ip // + "&mac=" + StaticUtil.Mac); //OperateResult results = JsonConvert.DeserializeObject(str); //if (results.Status == ResultStatus.Success) //{ //List v = JsonConvert.DeserializeObject>(results.Data.ToString()); //this.cmbBartender.DataSource = v.FindAll(x => x.CN_S_TEMPLET_TYPE.Equals("物料标签") && x.CN_S_MAC.Equals(StaticUtil.Mac)); //this.cmbBartender.DisplayMember ="CN_S_TEMPLET_NAME"; //} //else //{ // MessageBoxEx.Show("打印模板加载失败!"); //} } #endregion #region 打印 /// /// 打印 /// /// /// private void btnPrint_Click(object sender, EventArgs e) { //组织打印信息 List list = new List(); dt = new DataTable(); if (this.dgvlist.Rows.Count == 0) { MessageBoxEx.Show("请选择打印信息!", "汉和信息"); return; } //if (string.IsNullOrEmpty(this.cmbBartender.Text)) //{ // MessageBoxEx.Show("请选择打印模版!", "汉和信息"); // return; //} TN_WM_B_STRATEGY_VALUEEntity strategy = StaticUtil.StrategyList.Find(x => x.CN_S_CODE.Equals("IsUseSNCode")); string IsUseSNCode = "Y"; if (strategy != null) IsUseSNCode = strategy.CN_S_VALUE; DataTable printDt = new DataTable(); printDt.Columns.Add("ItemCode"); printDt.Columns.Add("ItemName"); printDt.Columns.Add("Model"); printDt.Columns.Add("Qty"); printDt.Columns.Add("Unit"); printDt.Columns.Add("FigureNo"); printDt.Columns.Add("UniqueCode"); for (int i = 0; i < dgvlist.Rows.Count; i++) { int printQuantity = Convert.ToInt32(dgvlist.Rows[i].Cells["PrintQuantity"].FormattedValue); for (int j = 0; j < printQuantity; j++) { string itemCode = dgvlist.Rows[i].Cells["CN_S_ITEM_CODE"].Value.ToString(); decimal packQty = Convert.ToDecimal(dgvlist.Rows[i].Cells["CN_F_MIN_PACK_QTY"].Value); //if (packQty == 0) //{ // MessageBoxEx.Show("请维护最小包装数!"); // return; //} string uniqueCode = ""; if (IsUseSNCode == "Y") { //启用唯一码时生成 PAK唯一号 uniqueCode = Guid.NewGuid().ToString(); } printDt.Rows.Add( itemCode, dgvlist.Rows[i].Cells["CN_S_ITEM_NAME"].Value, dgvlist.Rows[i].Cells["CN_S_MODEL"].Value, packQty, dgvlist.Rows[i].Cells["CN_S_MEASURE_UNIT"].Value, dgvlist.Rows[i].Cells["CN_S_FIGURE_NO"].Value, uniqueCode); list.Add(new MONGO_PRINT_BARCODE() { CN_S_IN_ORDER = currentPrintOrder, CN_S_ITEM_CODE = itemCode, CN_S_ITEM_NAME = dgvlist.Rows[i].Cells["CN_S_ITEM_NAME"].Value.ToString(), CN_S_FIGURE_NO = dgvlist.Rows[i].Cells["CN_S_FIGURE_NO"].Value.ToString(), CN_S_UNIQUE_CODE = uniqueCode, //CN_S_PACKING_UNIT = CN_F_PACKING_QTY = packQty, CN_F_QUANTITY = packQty//.ToDecimal(dgvlist.Rows[i].Cells["CN_F_QUANTITY"].Value) }); } } currPrintDS = printDt; //var info = SysStrategyList.Where(x => (x["CN_S_STOCK_CODE"]).ToString() ==StaticUtil.StockCode && (x["CN_S_CODE"]).ToString() == "IsUseSNCode").ToArray(); //if (IsUseSNCode.Equals("Y")) //{ // string str = WebApiManager.HttpWMS_Post("/api/PrintTag/PrintItemTag", JsonConvert.SerializeObject(list)); // OperateResult results = JsonConvert.DeserializeObject(str); // if (results.Status == ResultStatus.Error) // { // MessageBoxEx.Show("打印失败", "合肥汉和"); // return; // } //} OperateResult or = ArPrint(cmbPrinter.Text, "物料标签.rdlx", currPrintDS); //cmbBartender.Text if (or.Status != ResultStatus.Success) MessageBoxEx.Show(or.Msg); else MessageBoxEx.Show("打印成功!"); //ArPrint(); } #endregion #region 删除 /// /// 删除 /// /// /// private void btnDelete_Click(object sender, EventArgs e) { if (this.dgvlist.SelectedRows.Count == 0) { MessageBoxEx.Show(this, "请选择需要删除的行!", "合肥汉和"); return; } DialogResult dr = MessageBoxEx.Show(this, "确定要删除选中行数据码?", "合肥汉和", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (dr == System.Windows.Forms.DialogResult.Yes) { for (int i = this.dgvlist.SelectedRows.Count; i > 0; i--) { dgvlist.Rows.RemoveAt(dgvlist.SelectedRows[i - 1].Index); if (dgvlist.Rows.Count == 0) btnSelectOne.Enabled = true; } } } #endregion //新增 private void btnSelectOne_Click(object sender, EventArgs e) { ItemForm item = new ItemForm(); item.Text = "单品选择"; item.itemCodes += GetItemlist; item.Show(); } //弹出子窗体 private void btnSelect_Click(object sender, EventArgs e) { var fromtext = this.cmbOrderType.Text; if (fromtext == "--请选择--") { MessageBoxEx.Show("请选择单据类型", "合肥汉和"); return; } if (fromtext == "入库单") { InFrom f2 = new InFrom(); f2.Text = fromtext; //注册事件 f2.TransfEvent += frm_TransfEvent; f2.ShowDialog(); } else if (fromtext == "采购单") { InOrderFrom io = new InOrderFrom(); io.Text = fromtext; //注册事件 io.TransfEvent += frm_TransfEvent; io.ShowDialog(); } else if (fromtext == "到货单") { ArrivalOrderForm ao = new ArrivalOrderForm(); ao.Text = fromtext; ao.TransfEvent += frm_TransfEvent; ao.ShowDialog(); } } private void dgvlist_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e) { for (int i = 0; i < this.dgvlist.Rows.Count; i++) { DataGridViewRow r = this.dgvlist.Rows[i]; r.HeaderCell.Value = string.Format("{0}", i + 1); } } private void btnEmpty_Click(object sender, EventArgs e) { this.dgvlist.DataSource = null; btnSelectOne.Enabled = true; } //设置默认值 private void dgvlist_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e) { e.Row.Cells["PrintQuantity"].Value = "1"; } #region 打印 private DataTable currPrintDS; private DataSet currPrintDataSet = new DataSet(); /// /// 打印 /// /// 打印机名 /// 打印模板 /// 打印数据源 private OperateResult ArPrint(string printer, string templetName, DataTable dt) { try { currPrintDS = dt; GrapeCity.ActiveReports.PageReport rpt = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(@"ActionReport/Template/" + templetName + ""));//打开模版 rpt.Document.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(SetPrintDataSource); rpt.Document.Printer.PrinterName = printer; //this.viewer1.LoadDocument(rpt.Document); bool b = GrapeCity.ActiveReports.PrintExtension.Print(rpt.Document, false, false); if (b) return OperateResult.Succeed(); else return OperateResult.Error("打印异常!"); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } private void SetPrintDataSource(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args) { args.Data = currPrintDS; } #endregion #region 刷新模板 /// /// 刷新模板 /// /// /// private void btnShuaxin_Click(object sender, EventArgs e) { //清除 GetBarMode();//从新加载 } #endregion #region 编辑格式限制 /// /// 编辑格式限制 /// /// /// TextBox control; private void dgvlist_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { if (e.Control.GetType().BaseType.Name == "TextBox") { control = new TextBox(); control = (TextBox)e.Control; if (control.Text == "0") //需要限制输入数字的单元格 { control.KeyPress += new KeyPressEventHandler(control_KeyPress); } else { //非数字类型单元格 control.Leave += new EventHandler(control_Leave); } } } void control_KeyPress(object sender, KeyPressEventArgs e) { //限制只能输入-9的数字,退格键,小数点和回车 //if (((int)e.KeyChar >= 48 && (int)e.KeyChar <= 57) || e.KeyChar == 13 || e.KeyChar == 8 || e.KeyChar == 46) if (((int)e.KeyChar >= 48 && (int)e.KeyChar <= 57) || e.KeyChar == 13 || e.KeyChar == 8) { e.Handled = false; } else { e.Handled = true; MessageBoxEx.Show("只能输入数字!"); } } void control_Leave(object sender, EventArgs e) { //如果需要限制字符串输入长度 //if (control.Text.Length != 11) //{ // MessageBox.Show("只能为位!"); // control.Focus(); //} } #endregion #region 后台打印服务 Timer GetTaskTimer; /// /// 后台打印服务 /// private void PrintService() { GetTaskTimer = new Timer(); GetTaskTimer.Interval = 2000; GetTaskTimer.Tick += GetTaskTimer_Tick; GetTaskTimer.Start(); } private void GetTaskTimer_Tick(object sender, EventArgs e) { GetPrintTask(true); } #endregion #region 复选历史打印任务 /// /// 复选历史打印任务 /// /// /// private void cbkHistory_CheckedChanged(object sender, EventArgs e) { dtiStart.Visible = dtiEnd.Visible = lbl1.Visible = chkHistory.Checked; } #endregion #region 补打任务 /// /// 补打任务 /// /// /// private void btnRePrint_Click(object sender, EventArgs e) { try { if (dgvTask.SelectedRows.Count == 0) { MessageBoxEx.Show("请选择需要补打的行!"); return; } bool isOk = true; foreach (DataGridViewRow m in dgvTask.SelectedRows) { string content = m.Cells["CN_S_CONTENT"].Value.ToString().Replace('<', '[').Replace('(', '{').Replace('\\', '\"').Replace(')', '}').Replace('>', ']'); currPrintDS = JsonConvert.DeserializeObject(content); OperateResult or = ArPrint(m.Cells["CN_S_PRINTER"].Value.ToString().Replace('!', '\\'), m.Cells["CN_S_TEMPLET_NAME"].Value.ToString(), currPrintDS); if (or.Status == ResultStatus.Success) WebApiManager.HttpWMS_Get("/api/PrintTemplet/UpdatePrintFlag?guids=" + m.Cells["CN_GUID"].ToString()); else { m.Cells["columnRemark"].Value = or.Msg; isOk = false; } } if (!isOk) { MessageBoxEx.Show("打印失败,请查看备注!"); } } catch (Exception ex) { MessageBoxEx.Show(ex.Message); } } #endregion #region 搜索 /// /// 搜索 /// /// /// private void btnSearch_Click(object sender, EventArgs e) { if (chkHistory.Checked && (dtiStart.Value.ToShortDateString().Equals("0001/1/1") || dtiEnd.Value.ToShortDateString().Equals("0001/1/1"))) { MessageBoxEx.Show("请选择查找范围!"); return; } GetPrintTask(false); } #endregion #region 获取打印任务 /// /// 获取打印任务 /// /// 是否自动打印 private void GetPrintTask(bool isPrint) { string startDate = "", endDate = ""; if (chkHistory.Checked) { startDate = dtiStart.Value.ToShortDateString(); endDate = dtiEnd.Value.ToShortDateString(); } string str = WebApiManager.HttpWMS_Get("/api/PrintTemplet/GetPrintTask?mac=" + StaticUtil.Mac + "&isHistory=" + (chkHistory.Checked ? "Y" : "N") + "&key=" + txtKey.Text + "&startDate=" + startDate + "&endDate=" + endDate); OperateResult results = JsonConvert.DeserializeObject(str); if (results.Status == ResultStatus.Error) { return; } if (!isPrint) { dgvTask.Rows.Clear(); } if (!results.Data.ToString().Equals("[]")) { foreach (TN_WM_PRINT_TASKEntity m in JsonConvert.DeserializeObject>(results.Data.ToString())) { bool b = true; foreach (DataGridViewRow r in dgvTask.Rows) { if (r.Cells[0].Tag.ToString().Equals(m.CN_GUID)) { b = false; break; } } if (!b) continue; if (!chkHistory.Checked) { DataGridViewRow row = new DataGridViewRow(); DataGridViewCheckBoxCell cell0 = new DataGridViewCheckBoxCell(); cell0.Tag = m.CN_GUID; row.Cells.Add(cell0); DataGridViewTextBoxCell cell1 = new DataGridViewTextBoxCell(); cell1.Value = m.CN_S_TEMPLET_TYPE.Trim(); row.Cells.Add(cell1); DataGridViewTextBoxCell cell2 = new DataGridViewTextBoxCell(); cell2.Value = m.CN_S_TEMPLET_NAME.Trim(); row.Cells.Add(cell2); DataGridViewTextBoxCell cell3 = new DataGridViewTextBoxCell(); cell3.Value = m.CN_S_PRINTER.Trim(); row.Cells.Add(cell3); DataGridViewTextBoxCell cell5 = new DataGridViewTextBoxCell(); cell5.Value = m.CN_S_CONTENT.Trim(); row.Cells.Add(cell5); DataGridViewTextBoxCell cell9 = new DataGridViewTextBoxCell(); cell9.Value = m.CN_T_CREATE; row.Cells.Add(cell9); DataGridViewTextBoxCell cell8 = new DataGridViewTextBoxCell(); cell8.Value = m.CN_C_IS_PRINTED.Trim(); row.Cells.Add(cell8); dgvTask.Rows.Add(row); } if (isPrint) { m.CN_S_CONTENT = m.CN_S_CONTENT.Replace('<', '[').Replace('(', '{').Replace('\\', '\"').Replace(')', '}').Replace('>', ']'); currPrintDS = JsonConvert.DeserializeObject(m.CN_S_CONTENT); OperateResult or = ArPrint(m.CN_S_PRINTER.Replace('!', '\\'), m.CN_S_TEMPLET_NAME, currPrintDS); if (or.Status == ResultStatus.Success) { string strResult = WebApiManager.HttpWMS_Get("/api/PrintTemplet/UpdatePrintFlag?guids=" + m.CN_GUID.Trim()); or = JsonConvert.DeserializeObject(strResult); if (or.Status == ResultStatus.Success) { //清除已打印的任务 foreach (DataGridViewRow r in dgvTask.Rows) { if (r.Cells[0].Tag.ToString().Trim().Equals(m.CN_GUID.Trim())) { dgvTask.Rows.Remove(r); break; } } } else { foreach (DataGridViewRow r in dgvTask.Rows) { if (r.Cells[0].Tag.ToString().Trim().Equals(m.CN_GUID.Trim())) { r.Cells["columnRemark"].Value = or.Msg; break; } } } } else { foreach (DataGridViewRow r in dgvTask.Rows) { if (r.Cells[0].Tag.ToString().Trim().Equals(m.CN_GUID.Trim())) { r.Cells["columnRemark"].Value = or.Msg; break; } } } } } } } #endregion #region 选择打印机模板 /// /// 选择打印机模板 /// /// /// private void cmbBartender_SelectedValueChanged(object sender, EventArgs e) { if (cmbBartender.SelectedValue != null) { string printer = cmbBartender.SelectedValue.ToString().Replace('!', '\\'); cmbPrinter.SelectedIndex = cmbPrinter.Items.IndexOf(printer); } } #endregion #region 刷新未完全打印的入库单 /// /// 刷新未完全打印的入库单 /// /// /// private void btnRef_Click(object sender, EventArgs e) { GetOrderData(); } private void GetOrderData() { var startTime = dateTimeStart.Text; var endTime = dateTimeEnd.Text; if (!string.IsNullOrEmpty(startTime)) { startTime = Convert.ToDateTime(startTime).ToString("yyyy-MM-dd"); } if (!string.IsNullOrEmpty(endTime)) { endTime = Convert.ToDateTime(endTime).ToString("yyyy-MM-dd"); } var trayCode = tbTrayCode.Text; var searchModel = new { TokenId = "", PageIndex = "", PageSize = "", SearchCondition = new { CN_S_STOCK_CODE = "", CN_S_STOCK_AREA = "", CN_S_LOCATION_CODE = "", CN_S_ITEM_CODE = "", CN_S_ITEM_NAME = "", CN_S_MODEL = "", CN_S_PRODUCTION_BATCH = "", CN_S_OP_NO = "", CN_S_OWNER = "", CN_T_START = startTime,//!string.IsNullOrEmpty(valueDate) ? date[0] : "", CN_T_END = endTime,//!string.IsNullOrEmpty(valueDate) ? date[1] : "", CN_S_TRAY_CODE = trayCode, CN_S_ORDER_TYPE = orderTypes.Text, CN_S_ORDER_NO = tbOrderNo.Text } }; string strResult = WebApiManager.HttpWMS_Post("api/YuShouApi/GetPrintData", JsonConvert.SerializeObject(searchModel)); OperateResult or = JsonConvert.DeserializeObject(strResult); if (or.Status == ResultStatus.Success) { //JsonConvert.DeserializeObject>(results.Data.ToString()) dgvWaitPrintDg.DataSource = or.Data; } else { MessageBoxEx.Show(or.Msg); } } #endregion private void dgvWaitPrintDg_CellContentClick(object sender, DataGridViewCellEventArgs e) { //if (e.ColumnIndex == 0) //{ // string opNo = dgvWaitPrintDg.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(); // string str = WebApiManager.HttpWMS_Get("/api/In/GetListInventoryDtl?opNo=" + opNo); // OperateResult results = JsonConvert.DeserializeObject(str); // if (results.Status == ResultStatus.Success) // { // tabControl1.SelectedTabIndex = 1; // btnSelectOne.Enabled = false; // currentPrintOrder = opNo; // dgvlist.AutoGenerateColumns = false; // this.dgvlist.DataSource = results.Data; // SetPrintQty(); // colPrintedQty.Visible = true; // } //} } private void labelX1_Click(object sender, EventArgs e) { } private void cmbOrderType_SelectedIndexChanged(object sender, EventArgs e) { } private void orderTypes_SelectedIndexChanged(object sender, EventArgs e) { } private DataTable GetCheck() { if (dgvWaitPrintDg.Rows.Count > 0) { string str = "["; for (int i = 0; i < dgvWaitPrintDg.Rows.Count; i++) { string selectValue = dgvWaitPrintDg.Rows[i].Cells["CN_S_SELECT"].EditedFormattedValue.ToString(); if (selectValue == "True") { str += (this.dgvWaitPrintDg.Rows[i].DataBoundItem.ToString() + ","); } } if (str.Length > 1) { str = str.Substring(0, str.Length - 1) + "]"; currentTable = JsonConvert.DeserializeObject(str, typeof(DataTable)) as DataTable; } } return currentTable; } private void buttonX1_Click(object sender, EventArgs e) { try { if (string.IsNullOrEmpty(cmbPrinterList.Text)) { MessageBoxEx.Show("请先选择打印机!"); return; } //var text = GetCheck(); //var data = dgvWaitPrintDg.SelectedRows; List rowstr = new List(); //string str = "["; //foreach (DataGridViewRow i in data) //{ // str += (i.DataBoundItem.ToString() + ","); //} //str = str.Substring(0, str.Length - 1) + "]"; var billType = ""; var ruleName = ""; var workCenter = cmbWorkArea.Text; if (orderTypes.Text.Equals("产品入库单")) { billType = "产品入库"; ruleName = "产品入库单号"; } else if (orderTypes.Text.Equals("生产领料单")) { billType = ""; ruleName = "生产领料单号"; } else if (orderTypes.Text.Equals("退库单")) { billType = ""; ruleName = "退库单号"; } else if (orderTypes.Text.Equals("其他出库单")) { billType = "其他出库单(通用)"; ruleName = "其他出库单号"; } else if (orderTypes.Text.Equals("其他入库单")) { billType = "其他入库单(通用)"; ruleName = "其他入库单号"; } currPrintDataSet.Tables.Clear(); DataTable DataSet_DTL = GetCheck(); //JsonConvert.DeserializeObject(str, typeof(DataTable)) as DataTable; if (DataSet_DTL.Rows.Count <= 0) { MessageBoxEx.Show("未选中数据,请至少打印一行!"); return; } DataSet_DTL.TableName = "DataSet_DTL"; DataSet_DTL.Columns["CN_N_ROW_NO"].ReadOnly = false; DataSet_DTL.Columns.Add("CN_S_WEIGHT", Type.GetType("System.String")); //var guids = ""; var selectedOrderNo = ""; var orderPrints = new List(); var allowResult = OrderPrintHelper.AllowPrintByOrderNo(DataSet_DTL); if (allowResult.Success) { selectedOrderNo = allowResult.Message; } else { MessageBoxEx.Show(allowResult.Message); return; } var index = 1; foreach (DataRow row in DataSet_DTL.Rows) { row["CN_F_ALL_QTY"] = FormatMoney((Convert.ToInt32(Convert.ToDecimal(row["CN_F_PACKING_QTY"]))).ToString()); row["CN_S_WEIGHT"] = row["CN_F_QUANTITY"].ToString(); row["CN_N_ROW_NO"] = index.ToString(); index++; orderPrints.Add(new SetOrderPrintEntity{ CN_S_ITEM_CODE = row["CN_S_ITEM_CODE"].ToString(), CN_S_LOCATION_CODE = row["CN_S_LOCATION_CODE"].ToString(), CN_S_LOT_NO = row["CN_S_LOT_NO"].ToString(), CN_S_FIGURE_NO = row["CN_S_FIGURE_NO"].ToString() }); if (orderTypes.Text.Equals("产品入库单")) { row["CN_S_ITEM_CODE"] = row["CN_S_ITEM_CODE"].ToString() + row["CN_S_ITEM_NAME"].ToString(); } } currPrintDataSet.Tables.Add(DataSet_DTL); string orderNo = ""; if (string.IsNullOrEmpty(selectedOrderNo)) { orderNo = WebApiManager.HttpWMS_Get("/api/YuShouApi/GetBillNo?ruleName=" + ruleName); if (!string.IsNullOrEmpty(orderNo)) orderNo = orderNo.Substring(3, orderNo.Length - 3); if(!string.IsNullOrEmpty(DataSet_DTL.Rows[0]["CN_S_PRODUCTION_BATCH"].ToString())) { workCenter = DataSet_DTL.Rows[0]["CN_S_PRODUCTION_BATCH"].ToString(); } var reuslt = WebApiManager.HttpWMS_Post("/api/YuShouApi/SetPrintNo", JsonConvert.SerializeObject(new { orderNo, orderType = orderTypes.Text, userName = StaticUtil.User.userName, workCenter = workCenter, setOrderPrints = orderPrints })); OperateResult result = JsonConvert.DeserializeObject(reuslt); if (!result.Success) { MessageBoxEx.Show("打印失败!原因:" + result.Msg); } } else { orderNo = selectedOrderNo; workCenter = DataSet_DTL.Rows[0]["CN_S_PRODUCTION_BATCH"].ToString(); } DataTable DataSet_MST = new DataTable(); DataSet_MST.TableName = "DataSet_MST"; DataSet_MST.Columns.Add("WorkCenter"); //工作中心 DataSet_MST.Columns.Add("BillType"); //凭证性质 DataSet_MST.Columns.Add("BillNo"); //单据号 DataSet_MST.Columns.Add("BillDate"); //单据日期 DataSet_MST.Columns.Add("Remark"); //备注 DataSet_MST.Columns.Add("BillCreator"); //制单 DataSet_MST.Columns.Add("BillOperator");//经办 DataSet_MST.Columns.Add("BillReceiver");//签收人 DataSet_MST.Rows.Add( workCenter, billType, orderNo, DateTime.Now.ToString("yyyy-MM-dd"), "备注:", "制单:" + StaticUtil.User.userName, "经办:", "签收人:" ); currPrintDataSet.Tables.Add(DataSet_MST); OperateResult printResult = PrintMultiSource(cmbPrinterList.Text, orderTypes.Text + "模板.rdlx"); if (printResult.Success) { MessageBoxEx.Show("打印成功!"); } else { MessageBoxEx.Show(printResult.Msg); } GetOrderData(); } catch (Exception ex) { MessageBoxEx.Show("打印失败!" + ex.Message); } } private void cmbBartender_SelectedIndexChanged(object sender, EventArgs e) { } #region C/S端 处理多个数据源 private OperateResult PrintMultiSource(string printer, string templetName) { try { string path = Application.StartupPath + "/ActionReport/Template/" + templetName; GrapeCity.ActiveReports.PageReport rpt = new GrapeCity.ActiveReports.PageReport(new FileInfo(path));//打开模版 rpt.Document.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(SetMultiPrintDataSource); rpt.Document.Printer.PrinterName = printer; //this.viewer1.LoadDocument(rpt.Document); //rpt.Report.PaperOrientation = GrapeCity.ActiveReports.PageReportModel.PaperOrientation.Portrait;//Landscape;//Portrait; bool b = GrapeCity.ActiveReports.PrintExtension.Print(rpt.Document, false, false); if (b) return OperateResult.Succeed(); else return OperateResult.Error("打印异常!"); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } /// /// C/S端 处理多个数据源 /// /// /// /// [HanHe(yjl)] CREATED 2019/6/18 private void SetMultiPrintDataSource(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args) { if (args.DataSourceName == "DataSource" || args.DataSourceName == "OutFormOrderDS" || args.DataSourceName == "SortingDataSource") { if (args.DataSetName == "DataSet_MST") { args.Data = currPrintDataSet.Tables["DataSet_MST"]; } else if (args.DataSetName == "DataSet_DTL") { args.Data = currPrintDataSet.Tables["DataSet_DTL"]; } else { args.Data = currPrintDS; } } } #endregion private void labelX4_Click(object sender, EventArgs e) { } private void cmbPrinter_SelectedIndexChanged(object sender, EventArgs e) { } private void cmbPrinterList_SelectedIndexChanged(object sender, EventArgs e) { } private void PrintCodePager_Load(object sender, EventArgs e) { } private int PrintCodePage_Paging(WindowsApp.MyControl.EventPagingArg e) { if (tabControl1.SelectedTabIndex != 1) return 0; int totalRows = 0; try { string opr = BindPrintCodeSource(); OperateResult op = JsonConvert.DeserializeObject(opr); if (op.Status == ResultStatus.Error) { // ShowMessage(op.Msg, MsgType.Error); return 0; } DataTable dt = new DataTable(); JObject joct = (JObject)JsonConvert.DeserializeObject(op.Data.ToString()); totalRows = Convert.ToInt32(joct["total"] ?? 0); dt = JsonConvert.DeserializeObject(joct["rows"].ToString()); WindowsApp.MyControl.PageData pageData = new WindowsApp.MyControl.PageData(); pageData.PageIndex = this.PrintCodePager.PageCurrent; pageData.PageSize = this.PrintCodePager.PageSize; this.PrintCodePager.bindingSource.DataSource = dt; this.PrintCodePager.bindingNavigator.BindingSource = PrintCodePager.bindingSource; dgvPrintCode.DataSource = null; dgvPrintCode.AutoGenerateColumns = false; dgvPrintCode.DataSource = this.PrintCodePager.bindingSource; } catch (Exception) { } return totalRows; //return 0; } private string BindPrintCodeSource() { int pageIndex = this.PrintCodePager.PageCurrent == 0 ? 1 : this.PrintCodePager.PageCurrent; int pageSize = this.PrintCodePager.PageSize; if (cmbPrintCodeType.Text == "托盘码") { labelSearchName.Text = "托盘码:"; var searchModel = new { TokenId = StaticUtil.TokenId, PageIndex = pageIndex, PageSize = pageSize, SearchCondition = new { CN_S_TRAY_CODE = tbLocationContent.Text.Trim(), CN_S_TRAY_TYPE = "托盘" //CN_S_SPEC = cmbSpec.Text.Trim() } }; string opr = WebApiManager.HttpWMS_Post("Api/YuShouApi/GetTrayList", JsonConvert.SerializeObject(searchModel)); return opr; } else if (cmbPrintCodeType.Text == "货位码") { labelSearchName.Text = "货位码:"; string opr = WebApiManager.HttpWMS_Get("Api/YuShouApi/GetLocationList?areaCode=" //+ cmbStockArea.SelectedValue + "&roadWay=" //+ txtRoadWay.Text.Trim() + "&row=" //+ txtRow.Text.Trim() + "&PageIndex=" + pageIndex + "&pageSize=" + pageSize + "&locationNo=" + tbLocationContent.Text.Trim());//+ txtLocationNo.Text.Trim()); return opr; } else if (cmbPrintCodeType.Text == "料箱码") { labelSearchName.Text = "料箱码:"; var searchModel = new { TokenId = StaticUtil.TokenId, PageIndex = pageIndex, PageSize = pageSize, SearchCondition = new { CN_S_TRAY_CODE = tbLocationContent.Text.Trim(), CN_S_TRAY_TYPE = "料箱" //CN_S_SPEC = cmbSpec.Text.Trim() } }; //string opr = WebApiManager.HttpWMS_Get("Api/YuShouApi/GetBoxingList?PageIndex=" + pageIndex // + "&pageSize=" + pageSize);//+ txtLocationNo.Text.Trim()); string opr = WebApiManager.HttpWMS_Post("Api/YuShouApi/GetTrayList", JsonConvert.SerializeObject(searchModel)); return opr; } else if (cmbPrintCodeType.Text == "指令批号") { labelSearchName.Text = "指令批号:"; } else if (cmbPrintCodeType.Text == "工单号") { labelSearchName.Text = "工单号:"; } else { labelSearchName.Text = "内容:"; return JsonConvert.SerializeObject(OperateResult.Error("", null)); } return JsonConvert.SerializeObject(OperateResult.Succeed()); } /// /// 切换打印码类型 加载对应列表 /// /// /// /// [HanHe(yjl)] CREATED 2019/7/10 private void ChangePrintTypeCode_Click(object sender, EventArgs e) { DynamicBindTemplate(); GenerateColumnList(); if (cmbPrintCodeType.Text != "其他码") { InvokePager(); } } private void DynamicBindTemplate() { //cmbPrintTemplate.DataSource = null; //string str = WebApiManager.HttpWMS_Get("api/Common/GetPrintTypeTemplet?stockCode=" + StaticUtil.StockCode + "&templetType=" + cmbPrintCodeType.Text.ToString() + "&printer=" + cmbPrinterOne.Text + "&logistics=" + string.Empty); //OperateResult op = JsonConvert.DeserializeObject(str); //if (op.Data != null) //{ // DataTable dt = JsonConvert.DeserializeObject(op.Data.ToString()); // cmbPrintTemplate.DisplayMember = "CN_S_TEMPLET_NAME"; // cmbPrintTemplate.ValueMember = "CN_S_TEMPLET_NAME"; // cmbPrintTemplate.DataSource = dt; //} } private void GenerateColumnList(string radioContent = "") { Dictionary columnLst = new Dictionary(); if (tabControl1.SelectedTabIndex == 1) { dgvPrintCode.Columns.Clear(); ControlLayOut(); if (cmbPrintCodeType.Text == "货位码") { columnLst = new Dictionary() { {"货位编码", "CN_S_LOCATION_CODE"}, {"所属库区", "CN_S_AREA_CODE"}, {"所属巷道", "CN_S_ROADWAY"}, {"排", "CN_S_ROW"}, {"列", "CN_S_COL"}, {"层", "CN_S_FLOOR"} }; } else if (cmbPrintCodeType.Text == "托盘码") { columnLst = new Dictionary() { {"容器编号", "CN_S_TRAY_CODE"}, {"容器类型", "CN_S_TRAY_TYPE"}, {"容器规格", "CN_S_SPEC"}, {"分格行数", "CN_N_ROW_NUM"}, {"分格列数", "CN_N_COLUMN_NUM"}, {"载重", "CN_F_LOADBEARING"}, {"自重", "CN_F_GROSSWEIGHT"} }; } else if (cmbPrintCodeType.Text == "料箱码") { columnLst = new Dictionary() { {"容器编号", "CN_S_TRAY_CODE"}, {"容器类型", "CN_S_TRAY_TYPE"}, {"容器规格", "CN_S_SPEC"}, {"分格行数", "CN_N_ROW_NUM"}, {"分格列数", "CN_N_COLUMN_NUM"}, {"载重", "CN_F_LOADBEARING"}, {"自重", "CN_F_GROSSWEIGHT"} }; //columnLst = new Dictionary() //{ // {"料箱码", "CN_S_UNIQUE_CODE"}, {"指令批号", "CN_S_LOT_NO"}, {"物料编码", "CN_S_ITEM_CODE"}, // {"物料名称", "CN_S_ITEM_NAME"}, // {"工单号", "CN_S_FIGURE_NO"} //}; } else if (cmbPrintCodeType.Text == "其他码") { columnLst = new Dictionary() { {"码值", "PRINT_CODE_VALUE"} }; DataTable dt = new DataTable(); //AddNewRow(dt); } else { dgvPrintCode.DataSource = null; } } CycleColumnList(columnLst); } private void ControlLayOut() { if (cmbPrintCodeType.Text == "货位码") { } else if (cmbPrintCodeType.Text == "托盘码") { } else if (cmbPrintCodeType.Text == "其他码") { } else { } } private void CycleColumnList(Dictionary dicList) { if (tabControl1.SelectedTabIndex == 1) { dgvPrintCode.Columns.Clear(); System.Windows.Forms.DataGridViewCheckBoxColumn Column1; Column1 = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.dgvPrintCode.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None; Column1.HeaderText = "全选"; Column1.Name = "Column1"; Column1.ReadOnly = false; Column1.Width = 62; this.dgvPrintCode.Columns.Add(Column1); foreach (var item in dicList) { DataGridViewTextBoxColumn printColumn = new DataGridViewTextBoxColumn(); printColumn.HeaderText = item.Key; printColumn.DataPropertyName = item.Value; printColumn.Width = SetColumnWidth(1, item.Key); if (cmbPrintCodeType.Text != "其他码") { printColumn.ReadOnly = true; } else { printColumn.Width = 1800; printColumn.ReadOnly = false; } dgvPrintCode.Columns.Add(printColumn); } } } private int SetColumnWidth(int type, string columnName) { int width; if (type == 2) //加此参数作用见上 此外每个tab里面多个子选项卡是公用宽度的 { switch (columnName) { case "唯一码": width = 254; break; case "物料编码": width = 254; break; case "物料名称": width = 236; break; case "规格型号": width = 257; break; case "包装单位": width = 133; break; case "包装数量": width = 133; break; case "总数量": width = 109; break; case "计量单位": width = 133; break; case "图号": width = 254; break; case "到货批次": width = 176; break; case "生产批次": width = 236; break; case "份数": width = 109; break; default: width = 176; break; } } else { switch (columnName) { case "货位编码": width = 266; break; case "所属库区": width = 266; break; case "所属巷道": width = 220; break; case "排": width = 176; break; case "列": width = 176; break; case "层": width = 176; break; case "容器编号": width = 223; break; case "容器类型": width = 188; break; case "容器规格": width = 293; break; default: width = 142; break; } } return width; } private void InvokePager() { this.PrintCodePager.PageCurrent = 1; this.PrintCodePager.GetComboxPageSize(); this.PrintCodePager.Bind(); } private void labelX9_Click(object sender, EventArgs e) { } #region 打印货位、托盘、其他 //cmbPrintCodeType 打码类型 private DataTable currentTable = new DataTable(); private void btnLocationPrint_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(locationPrinters.Text)) { MessageBoxEx.Show("请先选择打印机!"); return; } currentTable = new DataTable(); var printType = cmbPrintCodeType.Text; //打码类型 if (printType.Equals("指令批号")) { currentTable.Columns.Add("OrderNo", Type.GetType("System.String")); DataRow dr = currentTable.NewRow(); dr["OrderNo"] = "ZLPH" + tbLocationContent.Text; currentTable.Rows.Add(dr); } else if (printType.Equals("工单号")) { currentTable.Columns.Add("OrderNo", Type.GetType("System.String")); DataRow dr = currentTable.NewRow(); dr["OrderNo"] = "GDH" + tbLocationContent.Text; currentTable.Rows.Add(dr); } else if (printType.Equals("托盘码") || printType.Equals("货位码") || printType.Equals("料箱码")) { DataTable dt = IsCheck(); if (dt.Rows.Count == 0) { //btnPrintCode.Enabled = true; MessageBoxEx.Show("请勾选要打印的信息!"); return; } currentTable = dt; //DataRow dr = currentTable.NewRow(); //dr["OrderNo"] = "GDH" + tbLocationContent.Text; //currentTable.Rows.Add(dr); } OperateResult or = ArPrint(locationPrinters.Text, printType + "模板.rdlx", currentTable); if (or.Status != ResultStatus.Success) { btnPrint.Enabled = true; MessageBoxEx.Show(or.Msg); } else { MessageBoxEx.Show("打印成功!"); btnPrint.Enabled = true; } } private DataTable IsCheck() { bool isFirstInitial = true; if (dgvPrintCode.Rows.Count > 0) { for (int i = 0; i < dgvPrintCode.Rows.Count; i++) { string selectValue = dgvPrintCode.Rows[i].Cells["Column1"].EditedFormattedValue.ToString(); if (selectValue == "True") { DataRow dr = currentTable.NewRow(); dr = (this.dgvPrintCode.Rows[i].DataBoundItem as DataRowView).Row; if (isFirstInitial) { currentTable = dr.Table.Clone(); isFirstInitial = false; } currentTable.Rows.Add(dr.ItemArray); } } } return currentTable; } #endregion private void btnOrderCancel_Click(object sender, EventArgs e) { var orderNo = tbOrderNo.Text; var orderType = orderTypes.Text; if (string.IsNullOrEmpty(orderNo)) { MessageBoxEx.Show("请先填写单据号!"); return; } var reuslt = WebApiManager.HttpWMS_Get("/api/YuShouApi/CancelPrintNo?orderNo=" + orderNo + "&orderType=" + orderType, ""); OperateResult result = JsonConvert.DeserializeObject(reuslt); if (result.Success) { MessageBoxEx.Show("单据号:" + orderNo + "取消成功!"); tbOrderNo.Text = ""; btnRef_Click(sender, e); } else { MessageBoxEx.Show("取消失败!" + result.Msg); } } protected string FormatMoney(string money) { //处理带有负号情况 int negNumber = money.IndexOf("-"); string prefix = string.Empty; if (negNumber != -1) { prefix = "-"; money = money.Substring(1); } //处理有小数位情况 int decNumber = money.IndexOf("."); string postfix = string.Empty; if (decNumber != -1) { postfix = money.Substring(decNumber); money = money.Substring(0, decNumber - 1); } //开始添加”,“号 if (money.Length > 3) { string str1 = money.Substring(0, money.Length - 3); string str2 = money.Substring(money.Length - 3, 3); if (str1.Length > 3) { return prefix + FormatMoney(str1) + "," + str2 + postfix; } else { return prefix + str1 + "," + str2 + postfix; } } else { return prefix + money + postfix; } } private void buttonX2_Click(object sender, EventArgs e) { string opr = BindPrintCodeSource(); OperateResult op = JsonConvert.DeserializeObject(opr); if (op.Status == ResultStatus.Error) { // ShowMessage(op.Msg, MsgType.Error); return ; } DataTable dt = new DataTable(); JObject joct = (JObject)JsonConvert.DeserializeObject(op.Data.ToString()); dt = JsonConvert.DeserializeObject(joct["rows"].ToString()); WindowsApp.MyControl.PageData pageData = new WindowsApp.MyControl.PageData(); pageData.PageIndex = this.PrintCodePager.PageCurrent; pageData.PageSize = this.PrintCodePager.PageSize; this.PrintCodePager.bindingSource.DataSource = dt; this.PrintCodePager.bindingNavigator.BindingSource = PrintCodePager.bindingSource; dgvPrintCode.DataSource = null; dgvPrintCode.AutoGenerateColumns = false; dgvPrintCode.DataSource = this.PrintCodePager.bindingSource; } private void dgvPrintCode_CellContentClick(object sender, DataGridViewCellEventArgs e) { } private void dgvPrintCode_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex == -1) { if (e.ColumnIndex == 0) { if (dgvPrintCode.Rows.Count > 0) { for (int i = 0; i < dgvPrintCode.Rows.Count; i++) { dgvPrintCode.Rows[i].Cells["Column1"].Value = true; } } } //MessageBoxEx.Show("e.RowIndex:" + e.RowIndex + ", e.ColumnIndex:" + e.ColumnIndex); } //else //{ // MessageBoxEx.Show("1"); //} } private void dgvWaitPrintDg_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex == -1) { if (e.ColumnIndex == 0) { if (dgvWaitPrintDg.Rows.Count > 0) { for (int i = 0; i < dgvWaitPrintDg.Rows.Count; i++) { dgvWaitPrintDg.Rows[i].Cells["CN_S_SELECT"].Value = true; } } } } else { if (e.ColumnIndex == 0) { if (dgvWaitPrintDg.Rows.Count > 0) { for (int i = 0; i < dgvWaitPrintDg.Rows.Count; i++) { if (i == e.RowIndex && !string.IsNullOrEmpty(dgvWaitPrintDg.Rows[i].Cells["CN_S_PRODUCTION_BATCH"].Value.ToString())) { cmbWorkArea.SelectedValue = dgvWaitPrintDg.Rows[i].Cells["CN_S_PRODUCTION_BATCH"].Value.ToString() ; } } } } } } } }