using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Qcm; using Core.StlMes.Client.Qcm.Control; using Core.StlMes.Client.Qcm.model; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; namespace Core.StlMes.Client.SaleOrder.Dialog { public partial class PscMscPopup : FrmBase { private ComMscCtrl _comMscCtrl; private ComPscCtrl _comPscCtrl; private string _choiceMsc = ""; private string _choiceMscDesc = ""; public string ChoiceMscDesc { get { return _choiceMscDesc; } set { _choiceMscDesc = value; } } /// /// 选择的冶金规范 /// public string ChoiceMsc { get { return _choiceMsc; } set { _choiceMsc = value; } } public PscMscPopup(string msc, OpeBase ob) { InitializeComponent(); _choiceMsc = msc; _comPscCtrl = new ComPscCtrl(splitContainer1.Panel1, ob); _comMscCtrl = new ComMscCtrl(splitContainer1.Panel2, ob); _comPscCtrl.UltraGrid1.AfterRowActivate += _comPscCtrl_AfterRowActivate; GridHelper.HidenExcludeColumns(_comPscCtrl.UltraGrid1.DisplayLayout.Bands[0], "Psc", "PscDesc"); GridHelper.HidenExcludeColumns(_comMscCtrl.UltraGrid1.DisplayLayout.Bands[0], "Msc", "MscDesc", "UseDesc", "MscStyle", "CHK"); GridHelper.SetExcludeColumnsActive(_comPscCtrl.UltraGrid1.DisplayLayout.Bands[0], ""); GridHelper.SetExcludeColumnsActive(_comMscCtrl.UltraGrid1.DisplayLayout.Bands[0], "CHK"); //GridHelper.SetAllColumnsActive(_comPscCtrl.UltraGrid1.DisplayLayout.Bands[0]); //GridHelper.SetAllColumnsActive(_comMscCtrl.UltraGrid1.DisplayLayout.Bands[0]); Query(); IQueryable rows = _comPscCtrl.UltraGrid1.Rows.AsQueryable().Where( a => a.GetValue("Psc") != "" && _choiceMsc != "" && a.GetValue("Psc").Substring(3, 7) == _choiceMsc.Substring(3, 7)); if (rows.Count() > 0) { rows.First().Activate(); } } void _comPscCtrl_AfterRowActivate(object sender, EventArgs e) { PscEntity comPsc = (PscEntity)_comPscCtrl.UltraGrid1.ActiveRow.ListObject; _comMscCtrl.QueryByPsc(comPsc.Psc.ToString2()); IQueryable rows = _comMscCtrl.UltraGrid1.Rows.AsQueryable().Where( a => a.GetValue("Msc") == _choiceMsc); if (rows.Count() > 0) { rows.First().Cells["CHK"].Value = true; _choiceMsc = ""; _comMscCtrl.UltraGrid1.UpdateData(); } } private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key) { case "查询": Query(); break; case "确认选择": Choice(); break; } } private void Query() { try { this.Cursor = Cursors.WaitCursor; _comPscCtrl.QueryPscDesc(new PscEntity() { Producname = labelTextBox1.Checked ? labelTextBox1.Text.Trim() : "", Steelname = labelTextBox2.Checked ? labelTextBox2.Text.Trim() : "", StdName = labelTextBox3.Checked ? labelTextBox3.Text.Trim() : "" }); } finally { this.Cursor = Cursors.Default; } } private void Choice() { _comMscCtrl.UltraGrid1.UpdateData(); IQueryable rows = _comMscCtrl.UltraGrid1.Rows.AsQueryable().Where("CHK = 'True'"); if (rows.Count() == 0) { MessageUtil.ShowWarning("请选择一行记录!"); return; } _choiceMsc = rows.First().GetValue("Msc"); _choiceMscDesc = rows.First().GetValue("MscDesc"); this.DialogResult = System.Windows.Forms.DialogResult.OK; this.Close(); } } }