using Core.Mes.Client.Comm.Tool; using CoreFS.CA06; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; using System; using System.Data; using System.Linq; using System.Windows.Forms; namespace Core.StlMes.Client.Qcm { public delegate void ProductWaterSuccessHandler(object sender, ProductWaterEventArgs e); public partial class PopupProductWater : FrmBase { private FrmWaterPressureStand _frmWaterStd; private string _psc = ""; private string _useCode = ""; private string _msc = ""; private string _dimater = ""; private string _heigth = ""; private string _model = ""; private string _ordLnPk = ""; public event ProductWaterSuccessHandler ProductWaterSuccessEvent; private string closeAction = ""; public PopupProductWater(string[] args, string exceptionMsg, OpeBase ob) { InitializeComponent(); ExceptionHelper.RegistException(); _psc = args[0]; _useCode = args[1]; _msc = args[2] == "" ? "1" : args[2]; _dimater = args[3]; _heigth = args[4]; _model = args[5]; _ordLnPk = args[6]; this.ob = ob; ultraStatusBar1.Panels["ExMsg"].Text = exceptionMsg; _frmWaterStd = new FrmWaterPressureStand(); _frmWaterStd.PopupLoad("1", ob); _frmWaterStd.Msc = _msc; _frmWaterStd.CodeJg = ""; _frmWaterStd.OrdLnPk = _ordLnPk; this.panel5.Controls.Add(_frmWaterStd.UltraPanel1); this.panel5.Controls.Add(_frmWaterStd.UltraGrid1); _frmWaterStd.UltraGrid1.BringToFront(); InitComBoxData(); _frmWaterStd.UltraGrid1.AfterRowInsert += new Infragistics.Win.UltraWinGrid.RowEventHandler(UltraGrid1_AfterRowInsert); _frmWaterStd.UltraGrid1.BringToFront(); _frmWaterStd.ToolBar_Click(null, "Query"); } void UltraGrid1_AfterRowInsert(object sender, Infragistics.Win.UltraWinGrid.RowEventArgs e) { if (e.Row.HasParent()) return; e.Row.SetValue("MSC", _msc); DataTable dt = (DataTable)((UltraComboEditor)e.Row.Band.Columns["MSC"].EditorComponent).DataSource; DataRow[] drs = dt.Select("NAME = '" + _msc + "'"); if (drs.Length > 0) { string[] str = drs[0]["ID"].ToString().Split('@'); e.Row.Cells["PSC"].Value = str[1]; e.Row.Cells["PSC_DESC"].Value = str[2]; e.Row.Cells["PRODUCNAME"].Value = str[3]; e.Row.Cells["STDSTYLE"].Value = str[7]; e.Row.Cells["STD_NAME"].Value = str[4]; e.Row.Cells["STEELNAME"].Value = str[5]; e.Row.Cells["STD_STYLE_DESC"].Value = str[6]; e.Row.Cells["STEELCODE"].Value = str[8]; e.Row.Cells["STD_CODE"].Value = str[9]; } } private void InitComBoxData() { UltraComboEditor combo = (UltraComboEditor)_frmWaterStd.UltraGrid1.DisplayLayout.Bands[0].Columns["MSC"].EditorComponent; DataTable dt = (DataTable)combo.DataSource; dt.DefaultView.RowFilter = "NAME = '" + _msc + "'"; } private void btnClose_Click(object sender, EventArgs e) { closeAction = "Ok"; IQueryable queryable = _frmWaterStd.UltraGrid1.Rows.AsQueryable().Where("CHC = 'True'"); int selectCount = queryable.Count(); if (selectCount == 0) { MessageUtil.ShowWarning("请选择一条主记录!"); return; } UltraGridRow[] rows = queryable.ToArray(); string wic = rows[0].GetValue("WIC"); if (ProductWaterSuccessEvent != null) { ProductWaterEventArgs e2 = new ProductWaterEventArgs(); e2.Result = "1"; e2.Wic = wic; ProductWaterSuccessEvent(this, e2); } this.DialogResult = DialogResult.OK; } private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key) { case "查询": _frmWaterStd.ToolBar_Click(null, "Query"); break; case "保存": _frmWaterStd.ToolBar_Click(null, "Save"); break; case "作废": _frmWaterStd.ToolBar_Click(null, "Delete"); break; case "恢复": _frmWaterStd.ToolBar_Click(null, "Resume"); break; case "复制": _frmWaterStd.ToolBar_Click(null, "Copy"); break; case "粘贴": _frmWaterStd.ToolBar_Click(null, "Paste"); break; case "刷新": _frmWaterStd.ToolBar_Click(null, "Refresh"); break; case "关闭": this.Close(); break; } } private void PopupProductWater_FormClosing(object sender, FormClosingEventArgs e) { if (ProductWaterSuccessEvent != null && closeAction == "") { ProductWaterEventArgs e2 = new ProductWaterEventArgs(); e2.Result = "0"; ProductWaterSuccessEvent(this, e2); } } private void btnCancel_Click(object sender, EventArgs e) { this.Close(); } } public class ProductWaterEventArgs : EventArgs { private string _wic = ""; public string Wic { get { return _wic; } set { _wic = value; } } private string _result = ""; public string Result { get { return _result; } set { _result = value; } } } }