using DevExpress.Utils.DirectXPaint; using DevExpress.Utils.VisualEffects; using DevExpress.XtraGrid.Views.Base.ViewInfo; using Gs.DevApp.DevFrm.Rpt; using Gs.DevApp.Entity; using Gs.DevApp.ToolBox; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Data; using System.Drawing; using System.Windows.Forms; namespace Gs.DevApp.UserControl { public partial class SelectDeleteBar : DevExpress.XtraEditors.XtraForm { private readonly string _webServiceName = "VArrivalBarcodeManager/"; private string aboutGuid = ""; private string aboutType = "";//后盖码 /// /// /// /// 父亲guid /// 类别(后盖码,追溯码,受托入库等) /// qcGuid,在返工重条的时候 public SelectDeleteBar(string _aboutGuid, string _aboutType, string _qcGuid = "") { InitializeComponent(); this.gridView1.CustomDrawColumnHeader += (s, e) => { Gs.DevApp.ToolBox.UtilityHelper.CustomDrawColumnHeader(s, e); }; this.gridView1.MouseUp += (s, e) => { Gs.DevApp.ToolBox.UtilityHelper.CustomMouseUp(s, e, gcMain, gridView1); }; this.colChkInt.OptionsColumn.AllowSort = DevExpress.Utils.DefaultBoolean.False; this.colChkInt.OptionsFilter.AllowAutoFilter = false; this.colChkInt.OptionsFilter.AllowFilter = false; this.colChkInt.OptionsFilter.AllowInHeaderSearch = DevExpress.Utils.DefaultBoolean.False; this.aboutGuid = _aboutGuid; this.aboutType = _aboutType; this.Text = "批量操作【" + this.aboutType + "】,【" + this.aboutGuid + "】"; switch (aboutType) { case "托板码": btnDelete.Visible = false; break; case "追溯码": btnDelete.Visible = false; colT1.Caption = "线体编号"; colT2.Caption = "线体名称"; break; case "后盖码": colT1.Caption = "绑定托板码"; colT2.Caption = "绑定追溯码"; break; default: colT1.Caption = "入库人"; colT2.Caption = "入库日期"; break; } Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, null, null, null, "", null, null, false); getPageList(1); btnDelete.Click += (s, e) => { gridView1.PostEditor(); gridView1.UpdateCurrentRow(); System.Text.StringBuilder sb = new System.Text.StringBuilder(); string strMsg = "-1"; DataTable dt = this.gcMain.DataSource as DataTable; { foreach (DataRow dr in dt.Rows) { string checkBox = dr["chkInt"].ToString(); string _guid = dr["guid"].ToString(); if (Gs.DevApp.ToolBox.UtilityHelper.ToCheck(checkBox)) { if (sb.Length > 0) sb.Append(","); sb.Append(_guid.ToString()); } } } if (sb.Length <= 0) { MsgHelper.ShowError("请勾选你要删除的条码!"); return; } var _obj = new { aboutGuid = this.aboutGuid, guidList = sb.ToString(), aboutType = this.aboutType }; try { var strJson = UtilityHelper.HttpPost("", _webServiceName + "DeleteBarcode", JsonConvert.SerializeObject(_obj)); var _rtn = UtilityHelper.ReturnToDynamic(strJson); if (_rtn.rtnCode > 0) { strMsg = "1"; MsgHelper.ShowInformation("提示:" + _rtn.rtnMsg); } else { MsgHelper.ShowError("提示:" + _rtn.rtnMsg); return; } } catch (Exception ex) { MsgHelper.ShowError("提示:" + ex.Message); return; } UpdateParent?.Invoke(this, new UpdateParentEventArgs { StringSingle = strMsg, Data = "delete" }); Close(); }; btnPrint.Click += (s, e) => { gridView1.PostEditor(); gridView1.UpdateCurrentRow(); System.Text.StringBuilder sb = new System.Text.StringBuilder(); DataTable dtSelect = this.gcMain.DataSource as DataTable; { foreach (DataRow dr in dtSelect.Rows) { string checkBox = dr["chkInt"].ToString(); string _guid = dr["guid"].ToString(); if (Gs.DevApp.ToolBox.UtilityHelper.ToCheck(checkBox)) { if (sb.Length > 0) sb.Append("|"); sb.Append(_guid.ToString()); } } } if (sb.Length <= 0) { MsgHelper.ShowError("请勾选你要打印的条码!"); return; } if (aboutType == "后盖码") { var _obj = new { keyType = "客户模板" }; var json = JsonConvert.SerializeObject(_obj); try { var strReturn = UtilityHelper.HttpPost("", "Report/GetTemplateList", json); ReturnModel dd = UtilityHelper.ReturnToList(strReturn); DataTable dt = dd.rtnData; if (dd.rtnCode > 0) { // 创建或获取一个ContextMenu对象(例如使用ContextMenuStrip) ContextMenu contextMenu = new ContextMenu(); foreach (DataRow dr in dt.Rows) { MenuItem menuItem1 = new MenuItem(dr["reportType"].ToString() + "【" + dr["reportName"].ToString() + "】"); menuItem1.Click += (ss, ee) => { string rptParameter = dr["reportType"].ToString(); UpdateParent?.Invoke(this, new UpdateParentEventArgs { StringSingle = sb.ToString(), Data = "print" + rptParameter }); Close(); }; contextMenu.MenuItems.Add(menuItem1); } // 显示菜单在按钮的位置 contextMenu.Show(btnPrint, new Point(0, btnPrint.Height)); // 调整第二个参数以调整菜单的显示位置 return; } } catch (Exception ex) { MsgHelper.ShowError("提示:" + ex.Message); } } UpdateParent?.Invoke(this, new UpdateParentEventArgs { StringSingle = sb.ToString(), Data = "print" }); Close(); }; } /// /// 选择后的回调事件 /// public event EventHandler UpdateParent; /// /// /// 第几页 /// 每页几条 private void getPageList(int curPage) { var _obj = new { currentPage = curPage, everyPageSize = 999999, sortName = "", keyWhere = "", aboutGuid = this.aboutGuid, aboutType = this.aboutType, }; var json = JsonConvert.SerializeObject(_obj); try { var strReturn = UtilityHelper.HttpPost("", _webServiceName + "SelectBarcode", json); var dd = UtilityHelper.ReturnToTablePage(strReturn); var dt = dd.rtnData.list; gcMain.BindingContext = new BindingContext(); gcMain.DataSource = dt; gcMain.ForceInitialize(); gridView1.BestFitColumns(); Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gridView1); } catch (Exception ex) { MsgHelper.ShowError("提示:" + ex.Message); } } } }