using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using Core.StlMes.Client.Qcm.ht; using CoreFS.SA06; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Windows.Forms; namespace Core.StlMes.Client.Qcm { public partial class ControlMsc : UserControl { private DtBaseQcm _dtBaseQcm = null; public DtBaseQcm DtBaseQcm { get { return _dtBaseQcm; } set { _dtBaseQcm = value; } } private FrmProPSCMSC2 _frmProPSCMSC2 = null; //用于存放动态生成的Combo private Dictionary _ultCmbDic_Unit = null; private UltraComboEditor ultCmbDepartment = new UltraComboEditor(); private UltraComboEditor ultCmbMsc_Style = new UltraComboEditor(); private UltraComboEditor ultCmbAlpha = new UltraComboEditor(); private UltraComboEditor ultCmbMsc = new UltraComboEditor(); private UltraComboEditor ultCmbAllowNk = new UltraComboEditor(); private UltraComboEditor ultCmbJudgeFlag = new UltraComboEditor(); private UltraNumericEditor ultNumUseCount = new UltraNumericEditor(); private UltraComboEditor ultCmbUnit = new UltraComboEditor(); public string _mscCode = ""; public FrmProPSCMSC2 FrmProPscMsc2 { get { return _frmProPSCMSC2; } set { _frmProPSCMSC2 = value; } } public DataTable DataTableMsc { get { return this.COM_MSC; } set { this.COM_MSC = value; } } public DataTable DataTableMscRJg { get { return COM_MSC_R_JG; } set { COM_MSC_R_JG = value; } } public UltraGrid GridMsc { get { return this.ultraGrid2; } set { this.ultraGrid2 = value; } } //冶金规范GridRow private UltraGridRow _mscRow = null; public UltraGridRow MscRow { get { return _mscRow; } set { _mscRow = value; } } private UltraGridRow _jgRow = null; public UltraGridRow JgRow { get { return _jgRow; } set { _jgRow = value; } } private string _msc = ""; public string Msc { get { return _msc; } set { _msc = value; } } private string _unitCode = ""; public string UnitCode { get { return _unitCode; } set { _unitCode = value; } } private string _departmentCode = ""; public string DepartmentCode { get { return _departmentCode; } set { _departmentCode = value; } } private string copyMsc = ""; public string CopyMsc { get { return copyMsc; } set { copyMsc = value; } } public ControlMsc() { InitializeComponent(); } public void MscLoad() { CreateCombo(); LoadBaseData(); CreateGrid2Combo(); _dtBaseQcm = new DtMsc(this); _msc = ""; ultCmbAlpha.DropDownListWidth = -1; ultCmbMsc.DropDownListWidth = -1;//宽度设置为-1,控件就会自动更具items项中最长的一个计算宽度。 _unitCode = CoreFS.SA06.CoreUserInfo.UserInfo.GetDeptid(); _departmentCode = ClsBaseInfo.GetDepartIdBySectionId( CoreFS.SA06.CoreUserInfo.UserInfo.GetDeptid(), _frmProPSCMSC2.ob); } /// /// 动态创建科室Combo /// private void CreateGrid2Combo() { int cout = ultCmbDepartment.Items.Count; _ultCmbDic_Unit = new Dictionary(cout + 1); UltraComboEditor cmbNo = new UltraComboEditor(); cmbNo.Visible = false; cmbNo.DisplayStyle = Infragistics.Win.EmbeddableElementDisplayStyle.WindowsVista; _ultCmbDic_Unit.Add("NoValue", cmbNo); this.Controls.Add(cmbNo); for (int i = 0; i < ultCmbDepartment.Items.Count; i++) { string pid = ultCmbDepartment.Items[i].DataValue.ToString(); DataTable dt = ((DataTable)ultCmbUnit.DataSource).Copy(); dt.DefaultView.RowFilter = "PID = '" + pid + "'"; UltraComboEditor cmb = new UltraComboEditor(); cmb.DataSource = dt; cmb.DisplayMember = "DEPARTNAME"; cmb.ValueMember = "DEPARTID"; cmb.Visible = false; cmb.DisplayStyle = Infragistics.Win.EmbeddableElementDisplayStyle.WindowsVista; _ultCmbDic_Unit.Add(pid, cmb); this.Controls.Add(cmb); } } private void CreateCombo() { ultCmbDepartment.Visible = false; ultCmbMsc_Style.Visible = false; ultCmbAlpha.Visible = false; ultCmbMsc.Visible = false; ultCmbAllowNk.Visible = false; ultCmbJudgeFlag.Visible = false; ultNumUseCount.Visible = false; ultCmbUnit.Visible = false; ultCmbDepartment.DisplayStyle = Infragistics.Win.EmbeddableElementDisplayStyle.WindowsVista; ultCmbMsc_Style.DisplayStyle = Infragistics.Win.EmbeddableElementDisplayStyle.WindowsVista; ultCmbAlpha.DisplayStyle = Infragistics.Win.EmbeddableElementDisplayStyle.WindowsVista; ultCmbMsc.DisplayStyle = Infragistics.Win.EmbeddableElementDisplayStyle.WindowsVista; ultCmbAllowNk.DisplayStyle = Infragistics.Win.EmbeddableElementDisplayStyle.WindowsVista; ultCmbJudgeFlag.DisplayStyle = Infragistics.Win.EmbeddableElementDisplayStyle.WindowsVista; ultNumUseCount.DisplayStyle = Infragistics.Win.EmbeddableElementDisplayStyle.WindowsVista; ultCmbUnit.DisplayStyle = Infragistics.Win.EmbeddableElementDisplayStyle.WindowsVista; this.Controls.Add(ultCmbDepartment); this.Controls.Add(ultCmbMsc_Style); this.Controls.Add(ultCmbAlpha); this.Controls.Add(ultCmbMsc); this.Controls.Add(ultCmbAllowNk); this.Controls.Add(ultCmbJudgeFlag); this.Controls.Add(ultNumUseCount); this.Controls.Add(ultCmbUnit); } public void LoadBaseData() { FillUnit(); FillMsc_Style(); FillAlpha(); FillMsc(); FillAllowNk(); FillJudgeFlag(); ClsBaseInfo.FillDepartment(ultCmbDepartment, _frmProPSCMSC2.ob, false); ClsBaseInfo.FillSection(ultCmbUnit, _frmProPSCMSC2.ob, false); } private void FillUnit() { for (int i = 0; i < ultCmbDepartment.Items.Count; i++) { string pid = ultCmbDepartment.Items[i].DataValue.ToString(); DataTable dt = ((DataTable)ultCmbUnit.DataSource).Copy(); dt.DefaultView.RowFilter = "PID = '" + pid + "' OR PID IS NULL"; if (_ultCmbDic_Unit.ContainsKey(pid)) { _ultCmbDic_Unit[pid].DataSource = dt; ClsBaseInfo.SetComboItemHeight(_ultCmbDic_Unit[pid]); } } foreach (UltraGridRow row in ultraGrid2.Rows) { BandComboToGrid2(row); } } private void FillMsc_Style() { QcmBaseInfo.FillProductType(ultCmbMsc_Style, false); } private void FillAlpha() { DataTable dt = null; try { dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.loadAlpha", new object[] { }, _frmProPSCMSC2.ob); } catch { } ultCmbAlpha.DataSource = dt; ultCmbAlpha.DisplayMember = "STD_NAME"; ultCmbAlpha.ValueMember = "STD_CODE"; ClsBaseInfo.SetComboItemHeight(ultCmbAlpha); } public void FillMsc() { DataTable dt = null; UltraGrid grid = _frmProPSCMSC2.ultraGrid1; if (grid.ActiveRow == null) return; try { ArrayList list = new ArrayList(); list.Add(grid.ActiveRow.Cells["PSC"].Value.ToString()); dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.loadMsc", new object[] { list }, _frmProPSCMSC2.ob); } catch { } DataRow dr = dt.NewRow(); dr["MSC"] = " "; dt.Rows.InsertAt(dr, 0); ultCmbMsc.DataSource = dt; ultCmbMsc.DisplayMember = "MSC"; ultCmbMsc.ValueMember = "MSC"; } private void FillAllowNk() { DataTable dt = new DataTable(); dt.Columns.AddRange(new DataColumn[] { new DataColumn("NAME"), new DataColumn("CODE") }); dt.Rows.Add(new object[] { "是", "1" }); dt.Rows.Add(new object[] { "否", "0" }); ultCmbAllowNk.DataSource = dt; ultCmbAllowNk.DisplayMember = "NAME"; ultCmbAllowNk.ValueMember = "CODE"; } private void FillJudgeFlag() { DataTable dt = new DataTable(); dt.Columns.AddRange(new DataColumn[] { new DataColumn("NAME"), new DataColumn("CODE") }); dt.Rows.Add(new object[] { "/", "0" }); dt.Rows.Add(new object[] { "只熔炼", "1" }); dt.Rows.Add(new object[] { "只成品", "2" }); dt.Rows.Add(new object[] { "熔炼+成品", "3" }); ultCmbJudgeFlag.DataSource = dt; ultCmbJudgeFlag.DisplayMember = "NAME"; ultCmbJudgeFlag.ValueMember = "CODE"; } private void ultraGrid2_AfterRowActivate(object sender, EventArgs e) { ((Form)ultraGrid2.TopLevelControl).Cursor = Cursors.WaitCursor; _frmProPSCMSC2.COM_MSC_GRADE_R_SPEC1.Clear(); _frmProPSCMSC2.COM_MSC_GRADE1.Clear(); if (ultraGrid2.ActiveRow.HasParent()) { _mscRow = ultraGrid2.ActiveRow.ParentRow; _jgRow = ultraGrid2.ActiveRow; HiddenGrade(true); } else { _mscRow = ultraGrid2.ActiveRow; _jgRow = null; HiddenGrade(false); } _frmProPSCMSC2.QueryCom_Msc_BackLog(); ((Form)ultraGrid2.TopLevelControl).Cursor = Cursors.WaitCursor; _frmProPSCMSC2.LoadDataToTree(); _frmProPSCMSC2.HiddenTabWithStyle(); switch (_frmProPSCMSC2.UltraTabControl3.SelectedTab.Key) { case "STAND_PAY": _frmProPSCMSC2.ClearStandPay(); _frmProPSCMSC2.DisplayAndQueryStandPay(); break; case "PROCEDURE": //_frmProPSCMSC2.QueryCom_Msc_BackLog(); _frmProPSCMSC2.QueryCom_Base_Process(); _frmProPSCMSC2.RefreshMscProcess(); _frmProPSCMSC2.DisplayProcessPath(); break; case "JG": case "BL": _frmProPSCMSC2.QueryJG_PL(); break; } ((Form)ultraGrid2.TopLevelControl).Cursor = Cursors.Default; } private void HiddenGrade(bool isHidden) { if (isHidden) { _frmProPSCMSC2.UltraGrid4.DisplayLayout.Bands[0].Columns["BTN1"].Hidden = true; //_frmProPSCMSC2.splitContainer6.Panel2Collapsed = true; _frmProPSCMSC2.UltraTabControl4.Tabs[1].Visible = false; } else { _frmProPSCMSC2.UltraGrid4.DisplayLayout.Bands[0].Columns["BTN1"].Hidden = false; //_frmProPSCMSC2.splitContainer6.Panel2Collapsed = false; _frmProPSCMSC2.UltraTabControl4.Tabs[1].Visible = true; } } private void ultraGrid2_AfterRowInsert(object sender, RowEventArgs e) { string psc = _frmProPSCMSC2.ultraGrid1.GetActiveRowValue("PSC"); DataRow msc0 = ((DtMsc)_dtBaseQcm).GetComMsc0(psc); if (msc0 != null) { e.Row.Cells["ALLOW_NK"].Value = msc0["ALLOW_NK"].ToString(); e.Row.Cells["JUDGEFLAG"].Value = msc0["JUDGEFLAG"].ToString(); } e.Row.Cells["OLD_MSC_SEQ"].Value = ""; e.Row.Cells["MSC_SEQ"].Value = ""; string[] strs = ((DtMsc)_dtBaseQcm).QueryUnitCodeByPsc(psc); string unitCode = strs[0]; string departmentCode = strs[1]; if (msc0 == null)//msc0 { e.Row.Cells["UNIT_CODE"].Value = unitCode; e.Row.Cells["UNIT_CODE_PROCESS"].Value = unitCode; e.Row.Cells["DEPARTMENT_CODE"].Value = departmentCode; } else { e.Row.Cells["UNIT_CODE"].Value = _frmProPSCMSC2.UserInfo.GetDeptid(); e.Row.Cells["UNIT_CODE_PROCESS"].Value = _frmProPSCMSC2.UserInfo.GetDeptid(); e.Row.Cells["DEPARTMENT_CODE"].Value = ClsBaseInfo.GetDepartIdBySectionId( _frmProPSCMSC2.UserInfo.GetDeptid(), _frmProPSCMSC2.ob); } //if (_frmProPSCMSC2.ultraGrid1.ActiveRow.Cells["PSC"].Value.ToString().StartsWith("BL")) //{ // e.Row.Cells["MSC_STYLE"].Value = "A"; //} //1.对于MSC0:如果是标准科并且标准类型是国标,那么管理部门为制造部科室为标准科, // 如果是标准科但是标准类型是协议,那么管理部门为制造部科室为标准中的科室。 // 如果是技术中心部门为技术中心科室为标准中的科室。 //2. 对于MSCn:如果是标准科,那么管理部门为制造部科室为工艺科。 // 如果是技术中心,那么部门为技术中心科室为标准中的科室。 //bool isExistStdMsc = ((DtMsc)_dtBaseQcm).IsExistStdMsc(psc); //if (isExistStdMsc == false) //{ // if (_departmentCode == "002001007")//技术中心 // { // string[] strs = ((DtMsc)_dtBaseQcm).QueryUnitCodeByPsc(psc); // string unitCode = strs[0]; // string departmentCode = strs[1]; // e.Row.Cells["UNIT_CODE"].Value = unitCode; // e.Row.Cells["UNIT_CODE_PROCESS"].Value = unitCode; // e.Row.Cells["DEPARTMENT_CODE"].Value = departmentCode; // } // else// 002001001制造部或者其他 // { // string stdStyle = ((DtMsc)_dtBaseQcm).GetStdStyle(psc); // if (stdStyle == "G") // { // e.Row.Cells["DEPARTMENT_CODE"].Value = "002001001"; // e.Row.Cells["UNIT_CODE"].Value = "002001001004"; // e.Row.Cells["UNIT_CODE_PROCESS"].Value = "002001001004"; // } // else // { // string[] strs = ((DtMsc)_dtBaseQcm).QueryUnitCodeByPsc(psc); // string unitCode = strs[0]; // string departmentCode = strs[1]; // e.Row.Cells["UNIT_CODE"].Value = unitCode; // e.Row.Cells["UNIT_CODE_PROCESS"].Value = unitCode; // e.Row.Cells["DEPARTMENT_CODE"].Value = departmentCode; // } // } // string useCode = _frmProPSCMSC2.ultraGrid1.GetActiveRowValue("STD_CODE") + "000"; // e.Row.Cells["USE_CODE"].Value = useCode; // e.Row.Cells["USE_DESC"].Value = "/"; // e.Row.Cells["OLD_USE_DESC"].Value = "/"; //} //else //{ // if (_departmentCode == "002001007")//技术中心 // { // string[] strs = ((DtMsc)_dtBaseQcm).QueryUnitCodeByPsc(psc); // string unitCode = strs[0]; // string departmentCode = strs[1]; // e.Row.Cells["UNIT_CODE"].Value = unitCode; // e.Row.Cells["UNIT_CODE_PROCESS"].Value = unitCode; // e.Row.Cells["DEPARTMENT_CODE"].Value = departmentCode; // } // else//002001001制造部或者其他 // { // e.Row.Cells["UNIT_CODE"].Value = "002001001003"; // e.Row.Cells["UNIT_CODE_PROCESS"].Value = "002001001003"; // e.Row.Cells["DEPARTMENT_CODE"].Value = "002001001"; // } //} e.Row.Cells["MSC_STYLE"].Value = ((DtMsc)_dtBaseQcm).GetProductName(); string producHead = _frmProPSCMSC2.ultraGrid1.GetActiveRowValue("PRODUC_HEAD"); e.Row.SetValue("PRODUC_HEAD", producHead); if (ultCmbMsc.Items.Count >= 2) { e.Row.Cells["MSC_SEQ"].Value = ultCmbMsc.Items[1].DataValue.ToString(); } ControlGrid2Edit(e.Row); e.Row.Update(); } private void ultraGrid2_BeforeRowInsert(object sender, BeforeRowInsertEventArgs e) { if (_frmProPSCMSC2.ultraGrid1.ActiveRow == null) { e.Cancel = true; } else { UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid2, new string[] { "MSC" }, new string[] { "" }); if (rows.Length >= 1) { e.Cancel = true; } } } private void ultraGrid2_CellChange(object sender, CellEventArgs e) { if (e.Cell.Column.Key == "USER_COUNT") return; ultraGrid2.UpdateData(); if (e.Cell.Column.Key == "CHK") { ControlGrid2Check(e); ControlGrid2Edit(e.Cell.Row); if (e.Cell.Row.Cells["MSC"].Value.ToString() == "") { string psc = _frmProPSCMSC2.ultraGrid1.GetActiveRowValue("PSC"); bool isExistStdMsc = ((DtMsc)_dtBaseQcm).IsExistStdMsc(psc); if (isExistStdMsc == false) { e.Cell.Row.Cells["USE_DESC"].Activation = Activation.ActivateOnly; } } else { if (e.Cell.Row.GetValue("MSC").EndsWith("000")) { e.Cell.Row.Cells["USE_DESC"].Activation = Activation.ActivateOnly; } } } ControlGrid2Unit(e); ultraGrid2.UpdateData(); } private void ControlGrid2Check(CellEventArgs e) { bool chk = (bool)e.Cell.Value; UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid2, new string[] { "CHK" }, new string[] { "True" }); foreach (UltraGridRow row in rows) { if (e.Cell.Row.Equals(row)) continue; row.Cells["CHK"].Value = false; } } private void ultraGrid2_InitializeRow(object sender, InitializeRowEventArgs e) { if (e.Row.ChildBands != null) { BandComboToGrid2(e.Row); if (e.Row.GetValue("USE_DESC") != e.Row.GetValue("OLD_USE_DESC")) { e.Row.SetValue("USE_DESC", e.Row.GetValue("OLD_USE_DESC")); } } _frmProPSCMSC2.SetColor(e); } public void ControlGrid2Edit(UltraGridRow row) { List list = new List(); list.Add("冶金规范码"); list.Add("创建人"); list.Add("创建时间"); list.Add("修改人"); list.Add("修改时间"); list.Add("作废人"); list.Add("作废时间"); list.Add("交付状态"); list.Add("内控状态"); list.Add("引用冶金规范码"); list.Add("规范类型"); list.Add("用途码"); list.Add("用途描述"); List listDrop = new List(); listDrop.Add("管理部门"); listDrop.Add("交付标准管理科室"); listDrop.Add("工艺标准管理科室"); listDrop.Add("内控"); ControlGridEdit(row, list, listDrop); row.Cells["JUDGEFLAG"].Activation = Activation.AllowEdit; //msc0不能修改用途码 if (row.GetValue("MSC_SEQ") != "") { row.Cells["USE_DESC"].EditorComponent = ultraTextEditor1; } if (row.GetValue("CHK") == "True") { //是否内控 if (CoreUserInfo.UserInfo.GetUserID() == "admin" || CoreUserInfo.UserInfo.GetUserID() == "99999999") { row.Cells["ALLOW_NK"].Activation = Activation.AllowEdit; } else { row.Cells["ALLOW_NK"].Activation = Activation.ActivateOnly; } //根据部门限制是否可以修改部门科室。 if (_unitCode == "002001001004" || CoreUserInfo.UserInfo.GetUserID() == "admin") { row.Cells["DEPARTMENT_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; row.Cells["DEPARTMENT_CODE"].Activation = Activation.AllowEdit; row.Cells["UNIT_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; row.Cells["UNIT_CODE"].Activation = Activation.AllowEdit; row.Cells["UNIT_CODE_PROCESS"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; row.Cells["UNIT_CODE_PROCESS"].Activation = Activation.AllowEdit; } else if (_unitCode == "002001007006") { if (row.GetValue("DEPARTMENT_CODE") == "002001007") { row.Cells["DEPARTMENT_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown; row.Cells["DEPARTMENT_CODE"].Activation = Activation.ActivateOnly; row.Cells["UNIT_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; row.Cells["UNIT_CODE"].Activation = Activation.AllowEdit; row.Cells["UNIT_CODE_PROCESS"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; row.Cells["UNIT_CODE_PROCESS"].Activation = Activation.AllowEdit; } else { row.Cells["DEPARTMENT_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown; row.Cells["DEPARTMENT_CODE"].Activation = Activation.ActivateOnly; row.Cells["UNIT_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown; row.Cells["UNIT_CODE"].Activation = Activation.ActivateOnly; row.Cells["UNIT_CODE_PROCESS"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown; row.Cells["UNIT_CODE_PROCESS"].Activation = Activation.ActivateOnly; } } else { row.Cells["DEPARTMENT_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown; row.Cells["DEPARTMENT_CODE"].Activation = Activation.ActivateOnly; row.Cells["UNIT_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown; row.Cells["UNIT_CODE"].Activation = Activation.ActivateOnly; row.Cells["UNIT_CODE_PROCESS"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown; row.Cells["UNIT_CODE_PROCESS"].Activation = Activation.ActivateOnly; } } } public void ControlGridEdit(UltraGridRow row, List listNoEdit, List listDrop) { if (row.Cells.Exists("CHK") == false) return; if (row.Cells["CHK"].Value.ToString() == "True") { foreach (UltraGridCell cell in row.Cells) { if (cell.Column.Header.Caption == "选择") continue; if (listNoEdit.Contains(cell.Column.Header.Caption)) { cell.Activation = Activation.ActivateOnly; } else if (listDrop.Contains(cell.Column.Header.Caption)) { cell.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; cell.Activation = Activation.AllowEdit; } else { cell.Activation = Activation.AllowEdit; } } } else { foreach (UltraGridCell cell in row.Cells) { if (cell.Column.Header.Caption == "选择") continue; if (listDrop.Contains(cell.Column.Header.Caption)) { cell.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown; cell.Activation = Activation.ActivateOnly; } else { cell.Activation = Activation.ActivateOnly; } } } } private void BandComboToGrid2(UltraGridRow row) { string pid = row.Cells["DEPARTMENT_CODE"].Value.ToString(); if (_ultCmbDic_Unit.ContainsKey(pid)) { row.Cells["UNIT_CODE"].EditorComponent = _ultCmbDic_Unit[pid]; row.Cells["UNIT_CODE_PROCESS"].EditorComponent = _ultCmbDic_Unit[pid]; } else { row.Cells["UNIT_CODE"].EditorComponent = _ultCmbDic_Unit["NoValue"]; row.Cells["UNIT_CODE_PROCESS"].EditorComponent = _ultCmbDic_Unit["NoValue"]; } row.Cells["DEPARTMENT_CODE"].EditorComponent = ultCmbDepartment; row.Cells["MSC_STYLE"].EditorComponent = ultCmbMsc_Style; row.Cells["MSC_SEQ"].EditorComponent = ultCmbMsc; row.Cells["MSC_SEQ"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown; row.Cells["ALLOW_NK"].EditorComponent = ultCmbAllowNk; row.Cells["JUDGEFLAG"].EditorComponent = ultCmbJudgeFlag; row.Cells["JUDGEFLAG"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; row.Cells["USER_COUNT"].EditorComponent = ultNumUseCount; } private void ControlGrid2Unit(CellEventArgs e) { if (e.Cell.Column.Header.Caption == "管理部门") { e.Cell.Row.Cells["UNIT_CODE"].Value = ""; e.Cell.Row.Cells["UNIT_CODE_PROCESS"].Value = ""; } } public void SaveGrid2Code() { if (_mscRow == null) return; UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid2, new string[] { "CHK" }, new string[] { "True" }); if (rows.Length > 0) { _mscCode = rows[0].Cells["MSC"].Value.ToString(); } else { _mscCode = _mscRow.Cells["MSC"].Value.ToString(); } } public void MoveToGrid2OldSite(ActionType actionType) { if (actionType == ActionType.Add && _mscCode == "") { DataRow[] drs = COM_MSC.Select("CREATE_NAME = '" + _frmProPSCMSC2.UserInfo.GetUserName() + "'", "MSC DESC"); if (drs.Length > 0) { string msc = drs[0]["MSC"].ToString(); UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid2, new string[] { "MSC" }, new string[] { msc }); if (rows.Length > 0) { rows[0].Activate(); } } } else { UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid2, new string[] { "MSC" }, new string[] { _mscCode }); if (rows.Length > 0) { rows[0].Activate(); } } _mscCode = ""; } public void Query() { _dtBaseQcm.DoQuery("DefaultQuery"); } public void QueryMscRJg() { _dtBaseQcm.DoQuery("QueryMscRJg"); } public bool Add() { bool result = _dtBaseQcm.DoAction(ActionType.Add); return result; } public bool Modify() { bool result = _dtBaseQcm.DoAction(ActionType.Modify); return result; } public bool Delete() { bool result = _dtBaseQcm.DoAction(ActionType.Delete); return result; } public bool Resume() { bool result = _dtBaseQcm.DoAction(ActionType.Resume); return result; } public bool SubMitAudit() { bool result = _dtBaseQcm.DoAction(ActionType.SubMitAudit); return result; } public bool SubMitModify() { bool result = _dtBaseQcm.DoAction(ActionType.SubMitModify); return result; } public bool Audit() { bool result = ((DtMsc)_dtBaseQcm).Audit2(); return result; } public bool SubMitAuditNk() { bool result = ((DtMsc)_dtBaseQcm).DoAction(ActionType.SubMitAudit2); return result; } public bool SubMitModifyNk() { bool result = ((DtMsc)_dtBaseQcm).DoAction(ActionType.SubMitModify2); return result; } public bool AuditNk() { bool result = ((DtMsc)_dtBaseQcm).AuditNk(); return result; } private void ultraGrid2_BeforeRowDeactivate(object sender, CancelEventArgs e) { if (_frmProPSCMSC2.AskIsDropStandPay() == false) e.Cancel = true; } private void ultraTextEditor1_EditorButtonClick(object sender, EditorButtonEventArgs e) { if (ultraGrid2.ActiveCell.Column.Key == "USE_DESC") { this.Cursor = Cursors.WaitCursor; string strCode = _frmProPSCMSC2.ultraGrid1.ActiveRow.Cells["STD_CODE"].Value.ToString(); string psc = _frmProPSCMSC2.ultraGrid1.ActiveRow.Cells["PSC"].Value.ToString(); string useCode = ultraGrid2.ActiveRow.GetValue("OLD_USE_CODE"); PopupProductManage popupProduct = new PopupProductManage(strCode, psc, useCode, _frmProPSCMSC2.ob, "Panel3"); popupProduct.Size = _frmProPSCMSC2.Size; this.Cursor = Cursors.Default; popupProduct.ShowDialog(); if (popupProduct.AlphaCode != "") { //ultraGrid2.ActiveCell.Value = popupProduct.AlphaDesc; ultraGrid2.SetActiveRowValue("OLD_USE_DESC", popupProduct.AlphaDesc); ultraGrid2.ActiveRow.Cells["USE_CODE"].Value = popupProduct.AlphaCode; ultraGrid2.ActiveRow.Cells["USE_DESC"].Value = popupProduct.AlphaDesc; } if (ultCmbMsc.Items.Count >= 2) { ultraGrid2.ActiveRow.Cells["MSC_SEQ"].Value = ultCmbMsc.Items[1].DataValue.ToString(); } ultraGrid2.UpdateData(); GridHelper.RefreshAndAutoSize(ultraGrid2); UltraGridRow row = ultraGrid2.ActiveRow; ultraGrid2.ActiveRow = null; ultraGrid2.ActiveRow = row; } } private void ultraGrid2_ClickCellButton(object sender, CellEventArgs e) { if (ultraGrid2.ActiveCell.Column.Key == "Zbs") { this.Cursor = Cursors.WaitCursor; string msc = ultraGrid2.ActiveRow.GetValue("Msc"); QcmZbsTemplateRMscFrm zbsTemplateRMscFrm = new QcmZbsTemplateRMscFrm(msc, _frmProPSCMSC2.ob); this.Cursor = Cursors.Default; zbsTemplateRMscFrm.ShowDialog(); } else if (ultraGrid2.ActiveCell.Column.Key == "ORDER_LINE_COUNT") { frmCraftReviewTechnologyList f = new frmCraftReviewTechnologyList(ultraGrid2.ActiveRow.GetValue("Msc"), _frmProPSCMSC2.ob); f.ShowDialog(); } else if (ultraGrid2.ActiveCell.Column.Key == "COPY_MSC") { CopyMsc = ultraGrid2.ActiveRow.GetValue("Msc"); } } } }