using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; using Infragistics.Win.UltraWinTabControl; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Drawing; using System.Windows.Forms; namespace Core.StlMes.Client.Qcm { /// /// 产品规范管理 /// public partial class FrmStandardK : FrmBase { //提示信息 private string errMessage = ""; private Dictionary _ultCmbDic_Unit = null; //定位标准基础 private string _std = ""; //定位最终客户 private string _cust = ""; //判断是否勾选 private int isSelectData = -1; private int distance = 0; private int disWidth = 0; ComStandPay csp = null; public FrmStandardK() { IsLoadUserView = true; InitializeComponent(); } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "doQuery": DoQuery(); break; case "doSave": DoSave(); break; case "doDelete": this.DoDeleteOrResume(true); break; case "doResume": this.DoDeleteOrResume(false); break; case "Refresh": InitComBoEditor(); break; case "Close": this.Close(); break; } } /// /// 查询 /// private void DoQuery() { //查询条件 string valid = "1"; if (ChcValid.Checked) valid = "0"; string std = ""; if (ChcStd.Checked) std = TextStd.Text.Trim(); //CoreStandard标准基础表 DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreStandard1.getComBaseStd", new Object[] { valid, std }, this.ob); DataRow[] rows = dt.Select("STDSTYLE<>'Alpha'"); foreach (DataRow dr in rows) { dt.Rows.Remove(dr); } dt.Columns.AddRange(new DataColumn[] { new DataColumn("STD_NAME_OLD")}); for (int i = 0; i < dt.Rows.Count; i++) { dt.Rows[i]["STD_NAME_OLD"] = dt.Rows[i]["STD_NAME"]; } GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true); //定位 UltraGridRow[] rows1 = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "STD_NAME" }, new string[] { _std }); if (rows1.Length > 0) rows1[0].Activate(); UltraGridColumn[] col = new UltraGridColumn[] { this.ultraGrid1.DisplayLayout.Bands[0].Columns["MEMO"] }; GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid1, col); QcmBaseCommon.SetUltraGridNoEdit(ultraGrid1); isSelectData = -1; } /// /// 保存 /// private void DoSave() { ultraGrid1.UpdateData(); ultraGrid3.UpdateData(); if (isSelectData == -1) { MessageBox.Show("请选择记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (MessageBox.Show("是否保存选择记录?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } //标准基础 UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "CHC" }, new string[] { "True" }); ArrayList stdAdd = new ArrayList(); ArrayList stdUpdate = new ArrayList(); if (rows.Length > 0) { foreach (UltraGridRow row in rows) { if (row.Cells["STD_NAME"].Value.ToString() != row.Cells["STD_NAME_OLD"].Value.ToString()) { DataTable dt1 = ServerHelper.GetData("com.steering.pss.qcm.ComBaseQuery.getCount", new Object[] { row.Cells["STD_NAME_OLD"].Value.ToString() }, this.ob); if (dt1 != null && dt1.Rows.Count > 0) { int i = Convert.ToInt32(dt1.Rows[0][0].ToString()); if (i > 0) { MessageBox.Show("标准 " + row.Cells["STD_NAME_OLD"].Value.ToString() + " 已被引用,无法修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } } ArrayList stdList = GetStdData(row); if (stdList == null) { MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } //标准名称 string stdName = row.Cells["STD_NAME"].Value.ToString().Trim(); string stdType = row.Cells["STDSTYLE"].Value.ToString(); _std = stdName; //标准代码 string stdCode = row.Cells["STD_CODE"].Value.ToString().Trim(); //如果创建人为空,则新增,否则修改 if (row.Cells["CREATE_NAME"].Value.ToString().Equals("")) { UltraGridRow[] rows1 = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "STD_NAME" }, new string[] { stdName }); if (rows1.Length > 1) { MessageBox.Show("标准名称:" + stdName + " 已经存在,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } //验证标准名称是否重复 DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreStandard1.checkStdName", new Object[] { stdName, stdType }, this.ob); if (dt != null && dt.Rows.Count > 0) { MessageBox.Show("标准名称:" + stdName + " 已经存在,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } stdAdd.Add(stdList); } else { //验证标准名称是否重复 DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreStandard1.checkStdName", new Object[] { stdName, stdCode, stdType }, this.ob); if (dt != null && dt.Rows.Count > 0) { MessageBox.Show("标准名称:" + stdName + " 已经存在,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } stdList.Add(stdCode); stdUpdate.Add(stdList); } } } //客户 ArrayList custerAdd = new ArrayList(); ArrayList custerUpdate = new ArrayList(); rows = GridHelper.GetRowsWithKey(ultraGrid3, new string[] { "CHC" }, new string[] { "True" }); if (rows.Length > 0) { foreach (UltraGridRow row in rows) { ArrayList custList = GetcustData(row); if (custList == null) { MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } string stdCode = row.Cells["STD_CODE"].Value.ToString(); string custName = row.Cells["CUST_NAME"].Text.ToString(); //用于定位客户 _cust = custName; string custCode = row.Cells["CUST_CODE"].Value.ToString(); if (row.Cells["CREATE_NAME"].Value.ToString().Equals("")) { UltraGridRow[] rows1 = GridHelper.GetRowsWithKey(ultraGrid3, new string[] { "CUST_CODE" }, new string[] { custCode }); if (rows1.Length > 1) { MessageBox.Show("最终客户:" + custName + " 已经存在,请重新选择!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } //验证最终客户是否重复 DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreStandard1.checkCust", new Object[] { custCode, stdCode }, this.ob); if (dt != null && dt.Rows.Count > 0) { MessageBox.Show("最终客户:" + custName + " 已经存在,请重新选择!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } custerAdd.Add(custList); } else { //验证最终客户是否重复 if (!custCode.Equals(row.Cells["OLD_CUST_CODE"].Value.ToString())) { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreStandard1.checkCust1", new Object[] { custCode, stdCode }, this.ob); if (dt != null && dt.Rows.Count > 0) { MessageBox.Show("最终客户:" + custName + " 已经存在,请重新选择!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } custList.Add(stdCode); custList.Add(custCode); custerUpdate.Add(custList); } } } if (stdAdd.Count > 0 || custerAdd.Count > 0 || stdUpdate.Count > 0 || custerUpdate.Count > 0) { ArrayList list = new ArrayList(); //无效的参数 为了跟服务端参数一致 ArrayList list1 = new ArrayList(); int count = ServerHelper.SetData("com.steering.pss.qcm.CoreStandard1.saveCoreStandard1", new Object[] { stdAdd, stdUpdate, list, list1, custerAdd, custerUpdate }, this.ob); if (count > 0) { MessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); DoQuery(); } } } /// /// 作废与恢复 /// /// private void DoDeleteOrResume(Boolean flag) { if (isSelectData == -1) { MessageBox.Show("请选择记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (flag) { if (MessageBox.Show("是否作废选择记录", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } } else { if (MessageBox.Show("是否恢复选择记录?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } } //标准基础 UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "CHC" }, new string[] { "True" }); ArrayList stdList = new ArrayList(); ArrayList pscList = new ArrayList(); ArrayList custList = new ArrayList(); if (rows.Length > 0) { foreach (UltraGridRow row in rows) { ArrayList std = new ArrayList(); //如果作废标准基础,就同时此标准基础下作废产品规范和客户 if (flag) { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComBaseQuery.getCount", new Object[] { row.Cells["STD_NAME_OLD"].Value.ToString() }, this.ob); if (dt != null && dt.Rows.Count > 0) { int i = Convert.ToInt32(dt.Rows[0][0].ToString()); if (i > 0) { MessageBox.Show("标准 " + row.Cells["STD_NAME_OLD"].Value.ToString() + " 已被引用,无法作废", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } std.Add(UserInfo.GetUserName()); for (int i = 0; i < ultraGrid3.Rows.Count; i++) { ArrayList cust = new ArrayList(); cust.Add(UserInfo.GetUserName()); cust.Add(ultraGrid3.Rows[i].Cells["STD_CODE"].Value.ToString()); cust.Add(ultraGrid3.Rows[i].Cells["CUST_CODE"].Value.ToString()); custList.Add(cust); } } else std.Add(""); std.Add(row.Cells["STD_CODE"].Value.ToString()); stdList.Add(std); //用于定位 _std = row.Cells["STD_NAME"].Value.ToString(); } } //最终客户 rows = GridHelper.GetRowsWithKey(ultraGrid3, new string[] { "CHC" }, new string[] { "True" }); if (rows.Length > 0) { foreach (UltraGridRow row in rows) { ArrayList cust = new ArrayList(); if (flag) cust.Add(UserInfo.GetUserName()); else { //恢复客户,如果所对应的标准名称没有恢复,且不能恢复 string stdName = row.Cells["STD_NAME"].Value.ToString(); UltraGridRow[] rows1 = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "STD_NAME" }, new string[] { stdName }); if (rows1.Length > 0 && rows1[0].Cells["VALIDFLAG"].Value.Equals("无效")) { MessageBox.Show("请先恢复标准名称:" + stdName, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } cust.Add(""); } cust.Add(row.Cells["STD_CODE"].Value.ToString()); cust.Add(row.Cells["CUST_CODE"].Value.ToString()); custList.Add(cust); _cust = row.Cells["CUST_NAME"].Value.ToString(); } } if (stdList.Count > 0 || pscList.Count > 0 || custList.Count > 0) { int count = ServerHelper.SetData("com.steering.pss.qcm.CoreStandard1.deleteOrResume", new Object[] { stdList, pscList, custList, flag }, this.ob); if (count > 0) { if (flag) MessageBox.Show("作废成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); else MessageBox.Show("恢复成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); DoQuery(); } } } /// /// 初始化 /// /// /// private void FrmStandardK_Load(object sender, EventArgs e) { InitComBoEditor(); CreateGrid1Combo(); UltraGridRow ugr = ultraGrid1.ActiveRow; if (ugr == null) { this.ultraTabControl1.Enabled = false; } else { this.ultraTabControl1.Enabled = true; } csp = new ComStandPay("3", this.ob); csp.ParentUltraGrid = this.ultraGrid1; csp.CkbDeleteFilter = this.ChcValid; csp.TabChemStand = this.ultraTabPageControl1; //成分 csp.TabMaterialStand = this.ultraTabPageControl2; //理化 csp.TabTolerancesStand = this.ultraTabPageControl3; //公差 csp.TabComMSCStdDetection = this.ultraTabPageControl4; //探伤 csp.TabProductWater = this.ultraTabPageControl5; //水压 csp.AfterRowInsert += new RowEventHandler(csp_AfterRowInsert); //新增行 csp.Load(); this.ultraToolbarsManager1.Toolbars[0].Tools[4].InstanceProps.Visible = DefaultableBoolean.False; } void csp_AfterRowInsert(object sender, RowEventArgs e) { UltraGridRow ugr = this.ultraGrid1.ActiveRow; if (e.Row.Band.Columns.Exists("STD_CODE_NK")) { e.Row.Cells["STD_CODE_NK"].Value = ugr.Cells["STD_CODE"].Value; DataTable dt = (DataTable)((UltraComboEditor)e.Row.Band.Columns["STD_CODE_NK"].EditorComponent).DataSource; DataRow[] drs = dt.Select("STD_CODE = '" + ugr.Cells["STD_CODE"].Value.ToString() + "'"); if (drs.Length > 0) { e.Row.Cells["STD_NAME_NK"].Value = drs[0][1]; e.Row.Cells["STDSTYLE"].Value = drs[0][2]; } } else if (e.Row.Band.Columns.Exists("STD_CODE")) { e.Row.Cells["STD_CODE"].Value = ugr.Cells["STD_CODE"].Value; DataTable dt = (DataTable)((UltraComboEditor)e.Row.Band.Columns["STD_CODE"].EditorComponent).DataSource; DataRow[] drs = dt.Select("STD_CODE= '" + ugr.Cells["STD_CODE"].Value.ToString() + "'"); if (drs.Length > 0) { e.Row.Cells["STD_NAME"].Value = drs[0][1]; e.Row.Cells["STDSTYLE"].Value = drs[0][2]; } } } /// /// 初始化下拉框 /// private void InitComBoEditor() { //初始化标准类型 ClsBaseInfo.FillStdType(ultraComboStd, this.ob, false); ((DataTable)ultraComboStd.DataSource).DefaultView.RowFilter = "CODE IN ('K')"; //初始化标准协会 QcmBaseCommon.InitDropUltraComEditor(ultraComboStyle, "com.steering.pss.qcm.CoreStandard1.bandCmbMaxStdXh", "BASENAME", this.ob, true); //初始化管理部门 QcmBaseCommon.InitDropUltraComEditor(ultraComboDepart, "com.steering.comm.data.ComBaseInfo.getDepartment", "DEPARTNAME", this.ob, true); //品名描述 QcmBaseCommon.InitDropUltraComEditor(ultraComboProduc, "com.steering.pss.qcm.CoreStandard1.getProducName", "PRODUCNAME", this.ob, false); //初始化标准类别 QcmBaseCommon.InitDropUltraComEditor(ultraComboStyleD, "com.steering.pss.qcm.CoreStandard1.getStd_Style", "STD_STYLE_DESC", this.ob, true); //初始化钢级牌号 QcmBaseCommon.InitDropUltraComEditor(ultraComboSteel, "com.steering.pss.qcm.CoreStandard1.getSteel", "STEELNAME", this.ob, true); //初始化最终客户 QcmBaseCommon.InitDropUltraComEditor(ultraComboCust, "com.steering.pss.qcm.CoreStandard1.getCust", "CUSTOMER_NM", this.ob, false); } /// /// 动态绑定数据源 管理科室 /// private void BandComboToGrid(InitializeRowEventArgs e) { string pid = e.Row.Cells["DEPARTMENT_CODE"].Value.ToString(); if (_ultCmbDic_Unit.ContainsKey(pid)) { e.Row.Cells["UNIT_DESC"].EditorComponent = _ultCmbDic_Unit[pid]; } else { e.Row.Cells["UNIT_DESC"].EditorComponent = _ultCmbDic_Unit["NoValue"]; } } /// /// 集合 生成Comboeditor集合 用于科室管理 /// private void CreateGrid1Combo() { int cout = ultraComboDepart.Items.Count; _ultCmbDic_Unit = new Dictionary(cout + 1); _ultCmbDic_Unit.Add("NoValue", new UltraComboEditor()); for (int i = 0; i < ultraComboDepart.Items.Count; i++) { string pid = ultraComboDepart.Items[i].DataValue.ToString().Split(',')[0]; DataTable dt = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getSection", new object[] { }, this.ob); dt.DefaultView.RowFilter = "PID = '" + pid + "'"; UltraComboEditor cmb = new UltraComboEditor(); cmb.DataSource = dt; cmb.DisplayMember = "DEPARTNAME"; cmb.ValueMember = "DEPARTID"; cmb.Visible = false; _ultCmbDic_Unit.Add(pid, cmb); this.Controls.Add(cmb); } } /// /// 查询区 /// /// /// private void ChcStd_CheckedChanged(object sender, EventArgs e) { if (ChcStd.Checked) TextStd.Enabled = true; else TextStd.Enabled = false; } /// /// 将ultraGrid2选择全部不勾选 /// /// private void changeUltraGirdChc(UltraGrid ug) { for (int i = 0; i < ug.Rows.Count; i++) ug.Rows[i].Cells["CHC"].Value = false; } //--------------------------------ultraGrid1------------------------------- /// /// 标准行增加 /// /// /// private void ultraGrid1_AfterRowInsert(object sender, RowEventArgs e) { //增加一行,自动获取最大的标准代码,然后加1 UltraGridRow ugr = ultraGrid1.DisplayLayout.ActiveRow; int stdCode = 0; DataRow[] rows = dataTable1.Select("", "STD_CODE DESC"); if (rows.Length > 0) stdCode = Convert.ToInt32(rows[0]["STD_CODE"].ToString().Substring(3, 7)); ugr.Cells["STD_CODE"].Value = "STD" + string.Format("{0:0000000}", (stdCode + 1)); //增加行如果没有勾选则不可编辑 if (!Convert.ToBoolean(ugr.Cells["CHC"].Value)) { for (int i = 0; i < ugr.Cells.Count; i++) { if (!ugr.Cells[i].Column.Key.Equals("CHC")) ugr.Cells[i].Activation = Activation.ActivateOnly; } } } /// /// ultraGrid1 /// /// /// private void ultraGrid1_CellChange(object sender, CellEventArgs e) { ultraGrid1.UpdateData(); UltraGridRow ugr = ultraGrid1.DisplayLayout.ActiveRow; if (e.Cell.Column.Key.Equals("STD_NAME")) //标准名称 { for (int i = 0; i < ultraGrid3.Rows.Count; i++) { ultraGrid3.Rows[i].Cells["STD_NAME"].Value = ultraGrid1.DisplayLayout.ActiveRow.Cells["STD_NAME"].Value.ToString().Trim(); } } if (e.Cell.Column.Key.Equals("STDSTYLE")) //标准类型 { string stdstyle = ugr.Cells["STDSTYLE"].Text; if (stdstyle.Equals("Alpha")) { ultraGrid3.Enabled = true; } else { changeUltraGirdChc(ultraGrid3); ultraGrid3.Enabled = false; } } if (e.Cell.Column.Key.Equals("STD_STYLE_NAME")) //标准协会 { ugr.Cells["STD_STYLE"].Value = ugr.Cells["STD_STYLE_NAME"].Value.ToString(); } if (e.Cell.Column.Key.Equals("DEPARTMENT_DESC")) //部门管理 { string departMentCode = ugr.Cells["DEPARTMENT_DESC"].Value.ToString(); string[] str = departMentCode.Split(','); ugr.Cells["DEPARTMENT_CODE"].Value = str[0]; //根据部门号查询管理科室 ugr.Cells["UNIT_CODE"].Value = ""; ugr.Cells["UNIT_DESC"].Value = ""; } if (e.Cell.Column.Key.Equals("UNIT_DESC")) //科室管理 { ugr.Cells["UNIT_CODE"].Value = ugr.Cells["UNIT_DESC"].Value.ToString(); } if (e.Cell.Column.Key.Equals("CHC"))//选择 { Activation activation = Activation.ActivateOnly; if (Convert.ToBoolean(e.Cell.Value)) { activation = Activation.AllowEdit; isSelectData += 1; } else isSelectData -= 1; CellsCollection cells = e.Cell.Row.Cells; for (int i = 0; i < cells.Count; i++) { if (!cells[i].Column.Key.Equals("CHC")) { e.Cell.Row.Cells[i].Activation = activation; } } } } /// /// ultraGrid1 /// /// /// private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e) { BandComboToGrid(e); if (e.Row.Cells["VALIDFLAG"].Value.ToString().Equals("无效")) { e.Row.Appearance.ForeColor = Color.Red; } else { e.Row.Appearance.ForeColor = Color.Black; } } /// /// 行激活事件 /// /// /// private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { UltraGridRow ugr = ultraGrid1.ActiveRow; if (ugr == null || ugr.Cells["VALIDFLAG"].Value.ToString() != "有效") { this.ultraTabControl1.Enabled = false; return; } else { this.ultraTabControl1.Enabled = true; } ultraGrid3.Enabled = true; ultraGrid3.UpdateData(); string stdName = ugr.Cells["STD_NAME"].Value.ToString(); _std = stdName; string stdStyle = ugr.Cells["STDSTYLE"].Text.ToString(); //Alpha 客户 if (stdStyle.Equals("Alpha")) { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreStandard1.getComBaseStdRCust", new Object[] { stdName }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable3, true); //激活操作的行 UltraGridRow[] rows1 = GridHelper.GetRowsWithKey(ultraGrid3, new string[] { "CUST_NAME" }, new string[] { _cust }); if (rows1.Length > 0) rows1[0].Activate(); _cust = ""; GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid3, null); } else { dataTable3.Rows.Clear(); ultraGrid3.Enabled = false; } QcmBaseCommon.SetUltraGridNoEdit(ultraGrid3); QueryAlpha(); } /// /// 获取标准类型数据 /// /// /// private ArrayList GetStdData(UltraGridRow ugr) { ArrayList list = new ArrayList(); string std_code = ugr.Cells["std_code"].Value.ToString(); string std_name = ugr.Cells["std_name"].Value.ToString().Trim(); if (std_name.Equals("")) { errMessage = "请输入标准名称"; return null; } string stdstyle = ugr.Cells["stdstyle"].Text.ToString(); if (stdstyle.Equals("")) { errMessage = "请选择标准类型"; return null; } if (stdstyle.ToUpper().Equals("ALPHA")) stdstyle = "K"; string std_note = ugr.Cells["std_note"].Value.ToString(); string std_style = ugr.Cells["std_style"].Value.ToString(); string std_style_name = ugr.Cells["std_style_name"].Text.ToString(); string std_version = ugr.Cells["std_version"].Value.ToString(); string department_code = ugr.Cells["department_code"].Value.ToString(); string department_desc = ugr.Cells["department_desc"].Text.ToString(); string unit_code = ugr.Cells["unit_code"].Value.ToString(); string unit_desc = ugr.Cells["unit_desc"].Text.ToString(); string userName = UserInfo.GetUserName(); string validflag = ugr.Cells["validflag"].Value.ToString(); if (validflag.Equals("无效")) { errMessage = "无效记录不能保存"; return null; } string memo = ugr.Cells["memo"].Value.ToString(); list.Add(std_code); list.Add(std_name); list.Add(stdstyle); list.Add(std_note); list.Add(std_style); list.Add(std_style_name); list.Add(std_version); list.Add(department_code); list.Add(department_desc); list.Add(unit_code); list.Add(unit_desc); list.Add(userName); list.Add(memo); return list; } /// /// 获取客户数据 /// /// /// private ArrayList GetcustData(UltraGridRow ugr) { ArrayList list = new ArrayList(); string std_code = ugr.Cells["STD_CODE"].Value.ToString(); string std_name = ugr.Cells["STD_NAME"].Value.ToString(); string cust_code = ugr.Cells["CUST_CODE"].Value.ToString(); string cust_name = ugr.Cells["CUST_NAME"].Text.ToString(); if (cust_name.Equals("")) { errMessage = "请选择最终客户"; } string userName = UserInfo.GetUserName(); string validflag = ugr.Cells["VALIDFLAG"].Value.ToString(); if (validflag.Equals("无效")) { errMessage = "无效记录不能保存"; return null; } string memo = ""; list.Add(std_code); list.Add(std_name); list.Add(cust_code); list.Add(cust_name); list.Add(userName); list.Add(memo); return list; } //-----------------------------------------ultraGrid3 private void ultraGrid3_AfterRowInsert(object sender, RowEventArgs e) { UltraGridRow ugr = ultraGrid3.DisplayLayout.ActiveRow; ugr.Cells["STD_NAME"].Value = ultraGrid1.DisplayLayout.ActiveRow.Cells["STD_NAME"].Value.ToString().Trim(); ugr.Cells["STD_CODE"].Value = ultraGrid1.DisplayLayout.ActiveRow.Cells["STD_CODE"].Value.ToString().Trim(); } private void ultraGrid3_CellChange(object sender, CellEventArgs e) { ultraGrid3.UpdateData(); UltraGridRow ugr = ultraGrid3.DisplayLayout.ActiveRow; if (e.Cell.Column.Key.Equals("CUST_NAME")) //客户 { ugr.Cells["CUST_CODE"].Value = ugr.Cells["CUST_NAME"].Value.ToString(); } if (e.Cell.Column.Key.Equals("CHC"))//选择 { Activation activation = Activation.ActivateOnly; if (Convert.ToBoolean(e.Cell.Value)) { activation = Activation.AllowEdit; isSelectData += 1; } else isSelectData -= 1; CellsCollection cells = e.Cell.Row.Cells; for (int i = 0; i < cells.Count; i++) { if (!cells[i].Column.Key.Equals("CHC")) { e.Cell.Row.Cells[i].Activation = activation; } } } } private void ultraGrid3_InitializeRow(object sender, InitializeRowEventArgs e) { if (e.Row.Cells["VALIDFLAG"].Value.ToString().Equals("无效")) { e.Row.Appearance.ForeColor = Color.Red; } else { e.Row.Appearance.ForeColor = Color.Black; } } /// /// 伸缩 /// /// /// private void ultraExpandableGroupBox1_ExpandedStateChanged(object sender, EventArgs e) { if (ultraExpandableGroupBox1.Expanded) { splitContainer1.SplitterDistance = distance; } else { splitContainer1.SplitterDistance = this.Height; } } private void FrmStandardK_Shown(object sender, EventArgs e) { distance = splitContainer1.SplitterDistance; disWidth = splitContainer2.SplitterDistance; ; } private void ultraExpandableGroupBox2_ExpandedStateChanged(object sender, EventArgs e) { if (ultraExpandableGroupBox2.Expanded) splitContainer2.SplitterDistance = disWidth; else splitContainer2.SplitterDistance = this.Width; } private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { if (e.Tool.Key == "ButtonTool1") //保存 { SaveAlpha(); } if (e.Tool.Key == "ButtonTool2") //作废 { DeleteAlpha(); } if (e.Tool.Key == "ButtonTool3") //恢复 { ResumeAlpha(); } if (e.Tool.Key == "ButtonTool4") //刷新 { RefreshAlpha(); } if (e.Tool.Key == "ButtonTool5") //分组 { GroupAlpha(); } } private void QueryAlpha() { UltraGridRow ugr = this.ultraGrid1.ActiveRow; if (ugr == null) return; switch (ultraTabControl1.SelectedTab.Key) { case "1": //###为了新行过滤用 csp.QueryChemStand(ugr.Cells["STD_CODE"].Value.ToString(), "###"); break; case "2": csp.QueryMaterialStand(ugr.Cells["STD_CODE"].Value.ToString(), "###"); break; case "3": csp.QueryTolerancesStand(ugr.Cells["STD_CODE"].Value.ToString(), "###"); break; case "4": csp.QueryComMSCStdDetection(ugr.Cells["STD_CODE"].Value.ToString(), "###"); break; case "5": csp.QueryProductWater(ugr.Cells["STD_CODE"].Value.ToString(), "###"); break; } } private void SaveAlpha() { UltraGridRow ugr = this.ultraGrid1.ActiveRow; if (ugr == null) return; switch (ultraTabControl1.SelectedTab.Key) { case "1": //成分标准界面 csp.SaveChemStand(ugr.Cells["STD_CODE"].Value.ToString(), ""); break; case "2": //理化标准界面 csp.SaveMaterialStand(ugr.Cells["STD_CODE"].Value.ToString(), ""); break; case "3": //公差标准界面 csp.SaveTolerancesStand(ugr.Cells["STD_CODE"].Value.ToString(), ""); break; case "4": //探伤标准界面 csp.SaveComMSCStdDetection(ugr.Cells["STD_CODE"].Value.ToString(), ""); break; case "5": //水压标准界面 csp.SaveProductWater(ugr.Cells["STD_CODE"].Value.ToString(), ""); break; } } private void DeleteAlpha() { UltraGridRow ugr = this.ultraGrid1.ActiveRow; if (ugr == null) return; switch (ultraTabControl1.SelectedTab.Key) { case "1": csp.DeleteChemStand(ugr.Cells["STD_CODE"].Value.ToString(), ""); break; case "2": csp.DeleteMaterialStand(ugr.Cells["STD_CODE"].Value.ToString(), ""); break; case "3": csp.DeleteTolerancesStand(ugr.Cells["STD_CODE"].Value.ToString(), ""); break; case "4": csp.DeleteComMSCStdDetection(ugr.Cells["STD_CODE"].Value.ToString(), ""); break; case "5": csp.DeleteProductWater(ugr.Cells["STD_CODE"].Value.ToString(), ""); break; } } private void ResumeAlpha() { UltraGridRow ugr = this.ultraGrid1.ActiveRow; if (ugr == null) return; switch (ultraTabControl1.SelectedTab.Key) { case "1": csp.ResumeChemStand(ugr.Cells["STD_CODE"].Value.ToString(), ""); break; case "2": csp.ResumeMaterialStand(ugr.Cells["STD_CODE"].Value.ToString(), ""); break; case "3": csp.ResumeTolerancesStand(ugr.Cells["STD_CODE"].Value.ToString(), ""); break; case "4": csp.ResumeComMSCStdDetection(ugr.Cells["STD_CODE"].Value.ToString(), ""); break; case "5": csp.ResumeProductWater(ugr.Cells["STD_CODE"].Value.ToString(), ""); break; } } private void RefreshAlpha() { UltraGridRow ugr = this.ultraGrid1.ActiveRow; if (ugr == null) return; switch (ultraTabControl1.SelectedTab.Key) { case "1": csp.RefreshChemStand(ugr.Cells["STD_CODE"].Value.ToString(), ""); break; case "2": csp.RefreshMaterialStand(ugr.Cells["STD_CODE"].Value.ToString(), ""); break; case "3": csp.RefreshTolerancesStand(ugr.Cells["STD_CODE"].Value.ToString(), ""); break; case "4": csp.RefreshComMSCStdDetection(ugr.Cells["STD_CODE"].Value.ToString(), ""); break; case "5": csp.RefreshProductWater(ugr.Cells["STD_CODE"].Value.ToString(), ""); break; } } private void GroupAlpha() { UltraGridRow ugr = this.ultraGrid1.ActiveRow; if (ugr == null) return; if (ultraTabControl1.SelectedTab.Key == "2") csp.GroupMaterialStand(ugr.Cells["STD_CODE"].Value.ToString(), ""); } private void ultraTabControl1_SelectedTabChanged(object sender, SelectedTabChangedEventArgs e) { UltraGridRow ugr = ultraGrid1.ActiveRow; if (ugr == null) { this.ultraTabControl1.Enabled = false; return; } else { this.ultraTabControl1.Enabled = true; } if (e.Tab.Key == "2") this.ultraToolbarsManager1.Toolbars[0].Tools[4].InstanceProps.Visible = DefaultableBoolean.True; else this.ultraToolbarsManager1.Toolbars[0].Tools[4].InstanceProps.Visible = DefaultableBoolean.False; QueryAlpha(); } } }