using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using Infragistics.Win.UltraWinGrid; using System.Collections; using CoreFS.CA06; using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; //详细信息显示Grid namespace Core.StlMes.Client.Lims.Data.PipeAndOutdec { public partial class PublicUltraGridDetail : UserControl { public event EventHandler PublicUltraGridDetailActive; //private DataTable dataTable; private OpeBase ob; public DataTable DataTable { get { return dataTable1; } set { dataTable1 = value; } } //private UltraGrid ug; public UltraGrid Ug { get { return ultraGrid1; } set { ultraGrid1 = value; } } private UltraGridRow ur; public UltraGridRow Ur { get { return ur; } set { ur = value; } } public PublicUltraGridDetail() { InitializeComponent(); } private void PublicUltraGridDetail_Load(object sender, EventArgs e) { } //初始化明细数据列 /// /// 初始化明细数据列 /// /// /// /// public void InitColumnsPipeDetail(string[] show, string[] ope, bool isShow) { //"IS_NOTICE_PRODUCER", "IS_NOTICE_PRODUCER_DESC", "通知监制", "通知监制", string[] arrColumns = new string[] { "CHK", "FLAG", "FLAG_DESC", "SAMPLE_NO_MIN", "CHECK_NO", "SAMPLE_NO", "HEAD_MAT_NO", "PHY_CODE_MAX", "PHY_NAME_MAX", "SIZE_DESC", "ITEM_NAME_F", "SAMPLE_COUNT", "MERG_TIME", "JG_PRINT_COUNT", "ISPRODUCER", "ISPRODUCER_DESC", "IS_NOTICE_PRODUCER", "IS_NOTICE_PRODUCER_DESC", "ISRCL", "ISRCL_DESC", "JG_SEND_NAME", "JG_SEND_TIME", "LAB_RECEIVE_NAME", "LAB_RECEIVE_TIME", "HEAT_NO", "STEEL_GRADE", "STEEL_NO", "PRODUCT_STD", "CONTRACT_NO", "CRAFT_PATH", "DIMATER", "HEIGHT", "PIPE_SIZE", "CRAFT_FILE_NO", "PRODUCT_NAME", "BUCKLE_TYPE", "PROCESS_STATUS", "CONSIGN_DEPT", "CONSIGN_NAME", "CONSIGN_TIME", "SPEC_REQ", "REMARK", "SAMPLE_REMARK", "FILE_PATH1", "FILE_PATH2", "FILE_PATH3", "FILE_PATH4", "TECHNICAL_STANDARD", "DEGREASING_METHOD", "NACE_PH", "NACE_PH_S", "NACE_PH_F", "NACE_SOLUTION_S", "NACE_SOLUTION_F", "TEST_TEMP", "SPECIMEN_SIZE1", "SPECIMEN_SIZE2", "SPECIMEN_SIZE3", "TEST_DURATION1", "TEST_DURATION2", "TEST_DURATION3", "PSEUDO_STRESS", "PROOF_RING_NO1", "PROOF_RING_NO2", "PROOF_RING_NO3", "YSMIN1", "YSMIN2", "YSMIN3", "ACTUAL_LOAD1", "ACTUAL_LOAD2", "ACTUAL_LOAD3", "ACTUAL_S_YSMIN1", "ACTUAL_S_YSMIN2", "ACTUAL_S_YSMIN3", "ARM_DISPLACEMENT1", "ARM_DISPLACEMENT2", "ARM_DISPLACEMENT3", "CRACK_LENGTH1", "CRACK_LENGTH2", "CRACK_LENGTH3", "NOTE", "STEP", "LOAD", "PRESSURE_MEDIUM", "INTERNAL_PRESSURE", "DOGLEG_DEGREE", "HOLD_TIME", "PIN", "BOX", "COMPOUND_TYPE", "COMPOUND_WEIGHT", "MAKE_UP_TORQUE", "TOTAL_TORQUE", "BREAK_OUT_TORQUE", "OBSERVED_RESULT", "TS_SAMPLE_REMARK", "TS_REMARK" };//"ISPRODUCER", string[] arrCaption = new string[] { "选择", "状态", "状态", "钢印号", "检验编号", "试样号", "样管编号", "检验项代码", "检验项","式样尺寸","式样方向", "试样数", "并单时间", "打印次数", "是否监制", "是否监制", "通知监制", "通知监制", "热处理", "热处理", "送样人", "送样时间", "收样人", "收样时间", "炉号", "钢级", "钢号", "技术标准", "合同号", "工艺文件", "外径", "壁厚", "规格", "工艺文件号", "品名", "扣型", "工艺状态", "委托单位", "委托人", "委托时间", "特殊要求", "备注", "来样操作备注", "图片1", "图片2", "图片3", "图片4", "技术标准", "试样脱脂方法", "通入H2S前NACE-A溶液pH值", "试验开始NACE-A溶液pH值", "试验结束NACE-A溶液pH值", "试验开始NACE-A溶液H2S浓度", "试验结束NACE-A溶液H2S浓度", "试验温度", "试样尺寸1", "试样尺寸2", "试样尺寸3", "试验持续时间1", "试验持续时间2", "试验持续时间3", "假定应力", "应力环号1", "应力环号2", "应力环号3", "名义最小屈服强度1", "名义最小屈服强度2", "名义最小屈服强度3", "实际加载挠度1", "实际加载挠度2", "实际加载挠度3", "实际载荷比率1", "实际载荷比率2", "实际载荷比率3", "悬壁位移1", "悬壁位移2", "悬壁位移3", "裂纹长度1", "裂纹长度2", "裂纹长度3", "备注", "步骤", "载荷(kips)", "压力介质", "内压力(MPa)", "狗腿度(°/100ft)", "保持时间(min)", "外螺纹端", "内螺纹端", "螺纹脂类型", "螺纹脂用量(g)", "上扣要求(ft-lb)", "上扣扭矩", "卸扣扭矩(ft-lb)", "螺纹检查", "工艺特殊要求备注", "试样特殊要求备注" };//"是否监制", InitColumns(arrColumns, arrCaption); setColumnShowOrHidden(show, isShow); setOtherColumnReadOnly(ope);//可编辑列 this.ultraGrid1.DisplayLayout.Bands[0].Columns["CRAFT_PATH"].EditorComponent = ultraTextEditor2; this.ultraGrid1.DisplayLayout.Bands[0].Columns["CRAFT_PATH"].CellActivation = Activation.ActivateOnly; this.ultraGrid1.DisplayLayout.Bands[0].Columns["CRAFT_PATH"].ButtonDisplayStyle = ButtonDisplayStyle.Always; } /// /// 初始化明细数据列 /// /// /// /// /// /// 是否隐藏上传功能:0-不隐藏 1-隐藏 public void InitColumnsPipeDetail(string[] show, string[] ope, bool isShow, OpeBase ob1, string isHidden) { //"IS_NOTICE_PRODUCER", "IS_NOTICE_PRODUCER_DESC", "通知监制", "通知监制", string[] arrColumns = new string[] { "CHECK_NO", "SAMPLE_NO", "PHY_CODE_MAX", "PHY_NAME_MAX", "DEPT_ID", "FILE_PATH1", "FILE_PATH2", "FILE_PATH3", "FILE_PATH4", "TECHNICAL_STANDARD", "DEGREASING_METHOD", "NACE_PH", "NACE_PH_S", "NACE_PH_F", "NACE_SOLUTION_S", "NACE_SOLUTION_F", "TEST_TEMP", "SPECIMEN_SIZE1", "SPECIMEN_SIZE2", "SPECIMEN_SIZE3", "TEST_DURATION1", "TEST_DURATION2", "TEST_DURATION3", "PSEUDO_STRESS", "PROOF_RING_NO1", "PROOF_RING_NO2", "PROOF_RING_NO3", "YSMIN1", "YSMIN2", "YSMIN3", "ACTUAL_LOAD1", "ACTUAL_LOAD2", "ACTUAL_LOAD3", "ACTUAL_S_YSMIN1", "ACTUAL_S_YSMIN2", "ACTUAL_S_YSMIN3", "ARM_DISPLACEMENT1", "ARM_DISPLACEMENT2", "ARM_DISPLACEMENT3", "CRACK_LENGTH1", "CRACK_LENGTH2", "CRACK_LENGTH3", "NOTE", "STEP", "LOAD", "PRESSURE_MEDIUM", "INTERNAL_PRESSURE", "DOGLEG_DEGREE", "HOLD_TIME", "PIN", "BOX", "COMPOUND_TYPE", "COMPOUND_WEIGHT", "MAKE_UP_TORQUE", "TOTAL_TORQUE", "BREAK_OUT_TORQUE", "OBSERVED_RESULT" }; string[] arrCaption = new string[] { "检验编号", "样管号", "检验项代码", "检验项", "所属实验室", "图片1", "图片2", "图片3", "图片4", "技术标准", "试样脱脂方法", "通入H2S前NACE-A溶液pH值", "试验开始NACE-A溶液pH值", "试验结束NACE-A溶液pH值", "试验开始NACE-A溶液H2S浓度", "试验结束NACE-A溶液H2S浓度", "试验温度", "试样尺寸1", "试样尺寸2", "试样尺寸3", "试验持续时间1", "试验持续时间2", "试验持续时间3", "假定应力", "应力环号1", "应力环号2", "应力环号3", "名义最小屈服强度1", "名义最小屈服强度2", "名义最小屈服强度3", "实际加载挠度1", "实际加载挠度2", "实际加载挠度3", "实际载荷比率1", "实际载荷比率2", "实际载荷比率3", "悬壁位移1", "悬壁位移2", "悬壁位移3", "裂纹长度1", "裂纹长度2", "裂纹长度3", "备注", "步骤", "载荷(kips)", "压力介质", "内压力(MPa)", "狗腿度(°/100ft)", "保持时间(min)", "外螺纹端", "内螺纹端", "螺纹脂类型", "螺纹脂用量(g)", "上扣要求(ft-lb)", "上扣扭矩", "卸扣扭矩(ft-lb)", "螺纹检查" }; InitColumns(arrColumns, arrCaption); setColumnShowOrHidden(show, isShow); setOtherColumnReadOnly(ope);//可编辑列 this.ob = ob1; if (isHidden.Equals("1")) { ultraTextEditor1.ButtonsRight[0].Visible = false; } this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH1"].EditorComponent = ultraTextEditor1; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH1"].CellActivation = Activation.ActivateOnly; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH1"].ButtonDisplayStyle = ButtonDisplayStyle.Always; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH2"].EditorComponent = ultraTextEditor1; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH2"].CellActivation = Activation.ActivateOnly; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH2"].ButtonDisplayStyle = ButtonDisplayStyle.Always; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH3"].EditorComponent = ultraTextEditor1; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH3"].CellActivation = Activation.ActivateOnly; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH3"].ButtonDisplayStyle = ButtonDisplayStyle.Always; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH4"].EditorComponent = ultraTextEditor1; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH4"].CellActivation = Activation.ActivateOnly; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH4"].ButtonDisplayStyle = ButtonDisplayStyle.Always; } /// /// 初始化明细数据列(腐蚀) /// /// /// /// /// 是否隐藏上传功能:0-不隐藏 1-隐藏 public void InitColumnsPipeDetailFS(string[] show, string[] ope, bool isShow, OpeBase ob1, string isHidden) { //"IS_NOTICE_PRODUCER", "IS_NOTICE_PRODUCER_DESC", "通知监制", "通知监制", string[] arrColumns = new string[] { "CHECK_NO", "SAMPLE_NO", "PHY_CODE_MAX", "PHY_NAME_MAX", "DEPT_ID", "FILE_PATH1", "FILE_PATH2", "FILE_PATH3", "FILE_PATH4", "TEST_CONDITION1", "TEST_CONDITION2", "TEST_CONDITION3", "TEST_CONDITION4", "TEST_CONDITION5", "TEST_CONDITION6", "TEST_CONDITION7", "TEST_CONDITION8", "TEST_CONDITION9", "TEST_CONDITION10", "TEST_CONDITION11", "TEST_CONDITION12", "TEST_CONDITION13", "TEST_CONDITION14", "TEST_CONDITION15", "TEST_CONDITION1_2", "TEST_CONDITION2_2", "TEST_CONDITION3_2", "TEST_CONDITION4_2", "TEST_CONDITION5_2", "TEST_CONDITION6_2", "TEST_CONDITION7_2", "TEST_CONDITION8_2", "TEST_CONDITION9_2", "TEST_CONDITION10_2", "TEST_CONDITION11_2", "TEST_CONDITION12_2", "TEST_CONDITION13_2", "TEST_CONDITION14_2", "TEST_CONDITION15_2", "TEST_CONDITION1_3", "TEST_CONDITION2_3", "TEST_CONDITION3_3", "TEST_CONDITION4_3", "TEST_CONDITION5_3", "TEST_CONDITION6_3", "TEST_CONDITION7_3", "TEST_CONDITION8_3", "TEST_CONDITION9_3", "TEST_CONDITION10_3", "TEST_CONDITION11_3", "TEST_CONDITION12", "TEST_CONDITION13", "TEST_CONDITION14_3", "TEST_CONDITION15_3" }; string[] arrCaption = new string[] { "检验编号", "样管号", "检验项代码", "检验项", "所属实验室", "试验前照片", "试验后照片", "显微照片", "图片4", "技术标准1", "试验条件2", "试验条件3", "试验条件4", "试验条件5", "试验条件6", "试验条件7", "试验条件8", "试验条件9", "试验条件10", "试验条件11", "试验条件12", "试验条件13", "试验条件14", "试验条件15", "技术标准1_2", "试验条件2_2", "试验条件3_2", "试验条件4_2", "试验条件5_2", "试验条件6_2", "试验条件7_2", "试验条件8_2", "试验条件9_2", "试验条件10_2", "试验条件11_2", "试验条件12_2", "试验条件13_2", "试验条件14_2", "试验条件15_2", "试验条件1_3", "试验条件2_3", "试验条件3_3", "试验条件4_3", "试验条件5_3", "试验条件6_3", "试验条件7_3", "试验条件8_3", "试验条件9_3", "试验条件10_3", "试验条件11_3", "试验条件12_3", "试验条件13_3", "试验条件14_3", "试验条件15_3" }; InitColumns(arrColumns, arrCaption); setColumnShowOrHidden(show, isShow); setOtherColumnReadOnly(ope);//可编辑列 this.ob = ob1; if (isHidden.Equals("1")) { ultraTextEditor1.ButtonsRight[0].Visible = false; } this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH1"].EditorComponent = ultraTextEditor1; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH1"].CellActivation = Activation.ActivateOnly; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH1"].ButtonDisplayStyle = ButtonDisplayStyle.Always; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH2"].EditorComponent = ultraTextEditor1; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH2"].CellActivation = Activation.ActivateOnly; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH2"].ButtonDisplayStyle = ButtonDisplayStyle.Always; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH3"].EditorComponent = ultraTextEditor1; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH3"].CellActivation = Activation.ActivateOnly; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH3"].ButtonDisplayStyle = ButtonDisplayStyle.Always; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH4"].EditorComponent = ultraTextEditor1; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH4"].CellActivation = Activation.ActivateOnly; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH4"].ButtonDisplayStyle = ButtonDisplayStyle.Always; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH5"].EditorComponent = ultraTextEditor1; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH5"].CellActivation = Activation.ActivateOnly; this.ultraGrid1.DisplayLayout.Bands[0].Columns["FILE_PATH5"].ButtonDisplayStyle = ButtonDisplayStyle.Always; } //初始化列 public void InitColumns(string[] arrColumns, string[] arrCaption) { PublicPipeAndOutdec.InitColumns(arrColumns, arrCaption, dataTable1); } //初始化列 public void InitColumnsLab(string[] arrColumns, string[] arrCaption) { PublicPipeAndOutdec.InitColumns(arrColumns, arrCaption, dataTable1); this.ultraGrid1.DisplayLayout.Bands[0].Columns["CRAFT_PATH"].EditorComponent = ultraTextEditor2; this.ultraGrid1.DisplayLayout.Bands[0].Columns["CRAFT_PATH"].CellActivation = Activation.ActivateOnly; this.ultraGrid1.DisplayLayout.Bands[0].Columns["CRAFT_PATH"].ButtonDisplayStyle = ButtonDisplayStyle.Always; } //设置列是否隐藏 /// /// 设置列是否隐藏 /// /// /// public void setColumnShowOrHidden(string[] keys, bool isShow) { PublicPipeAndOutdec.setColumnShowOrHidden(ultraGrid1, keys, isShow); } //可编辑列 /// /// 可编辑列 /// /// public void setOtherColumnReadOnly(string[] keys) { PublicPipeAndOutdec.setOtherColumnReadOnly(ultraGrid1, keys); } //查询检验委托明细信息 /// /// 查询检验委托明细信息 /// /// /// /// /// public void QueryCheckConsignBaseDetail(string path, ArrayList arrayList, OpeBase ob, string[] arrId) { DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBaseDetail", arrId == null ? new Object[] { arrayList } : new Object[] { arrayList, arrId }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable4 //UltraGridColumn[] cols = new UltraGridColumn[] { ultraGrid1.DisplayLayout.Bands[0].Columns["PHY_NAME_MAX"], ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCT_STD"] }; //GridHelper.RefreshAndAutoSizeExceptColumns(ultraGrid1, cols);//刷新Grid //GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid } public void QueryCheckConsignBaseDetailSampleNo(string path, ArrayList arrayList, OpeBase ob, string[] arrId, string[] plineCodes, string flag) { DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBaseDetailSampleNo", arrId == null ? new Object[] { arrayList, plineCodes } : new Object[] { arrayList, arrId, plineCodes, flag }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable4 } /// /// 重取样加工未下发 /// /// /// /// /// public void QueryCheckConsignBaseDetailResample(string path, ArrayList arrayList, OpeBase ob, string[] arrId) { DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBaseDetailResample", arrId == null ? new Object[] { arrayList } : new Object[] { arrayList, arrId }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable4 } /// /// SSC加工未下发 /// /// /// /// /// public void QueryCheckConsignBaseDetailSSC(string path, ArrayList arrayList, OpeBase ob, string[] arrId) { DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBaseDetailSSC", arrId == null ? new Object[] { arrayList } : new Object[] { arrayList, arrId }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable4 } /// /// 查询检验委托明细信息(收样时间) /// /// /// /// /// public void QueryCheckConsignBaseDetailReceiveTime(string path, ArrayList arrayList, OpeBase ob, string[] arrId, string[] plineCodes, string falg, string falg2) { DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBaseDetailReceiveTime", arrId == null ? new Object[] { arrayList, plineCodes } : new Object[] { arrayList, arrId, plineCodes, falg, falg2 }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable4 } /// /// 查询重取样 /// /// /// /// /// public void QueryResample(string path, ArrayList arrayList, OpeBase ob, string[] arrId, string[] plineCodes, string falg) { DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryResample", arrId == null ? new Object[] { arrayList, plineCodes } : new Object[] { arrayList, arrId, plineCodes, falg }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable4 } //查询检验委托加工明细信息 /// /// 查询检验委托加工明细信息 /// /// /// /// public void QueryCheckConsignJGDetail(string path, ArrayList arrayList, OpeBase ob) { DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignJGDetail", new Object[] { arrayList }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable4 GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid } //查询检验委托明细信息 /// /// 查询检验委托明细信息 /// /// /// /// /// public void QueryCheckConsignDetail(string path, ArrayList arrayList, OpeBase ob, int startNum) { //ultraGrid1.BeginUpdate(); DataTable dt = null; if ("JG".Equals(arrayList[0].ToString())) { dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignDetailJG", new Object[] { arrayList }, ob); } else { dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignDetail", new Object[] { arrayList }, ob); } if (dt == null || dt.Rows.Count == 0) { dataTable1.Rows.Clear(); int dcNum = dataTable1.Columns.Count;//清除列 if (dcNum > startNum) { for (int i = 0; i < dcNum - startNum; i++) { dataTable1.Columns.RemoveAt(startNum); } } return; } if (startNum == -1) { GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable4 //GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid return; } ShowColumns(startNum, dt, dataTable1); string row = "";//存放所有样管号判断是否有重复样管号 dataTable1.Rows.Clear();//清除行 DataRow newDr = dataTable1.NewRow(); foreach (DataRow dr in dt.Rows) { if (row.IndexOf(dr["SAMPLE_NO"].ToString()) < 0)//判断是否有重复样管号,有则不增加行只增加对应的列 { row += dr["SAMPLE_NO"].ToString() + " "; newDr = dataTable1.NewRow(); //newDr["FLAG"] = dr["FLAG"].ToString(); if (dataTable1.Columns.Contains("CHK")) { newDr["CHK"] = "True"; } if (dataTable1.Columns.Contains("FLAG")) { newDr["FLAG"] = dr["FLAG"].ToString(); } if (dataTable1.Columns.Contains("FLAG_DESC")) { newDr["FLAG_DESC"] = dr["FLAG_DESC"].ToString(); } newDr["SAMPLE_NO"] = dr["SAMPLE_NO"].ToString(); if (dataTable1.Columns.Contains("SAMPLE_SIZE")) { newDr["SAMPLE_SIZE"] = dr["SAMPLE_SIZE"].ToString(); } if (dataTable1.Columns.Contains("HEAD_MAT_NO")) { newDr["HEAD_MAT_NO"] = dr["HEAD_MAT_NO"].ToString(); } if (dataTable1.Columns.Contains("BATCH_NO")) { newDr["BATCH_NO"] = dr["BATCH_NO"].ToString(); } newDr[dr["PHY_CODE_MAX"].ToString()] = dr["SAMPLE_COUNT"].ToString(); //newDr["BATCH_NO"] = dr["BATCH_NO"].ToString(); dataTable1.Rows.Add(newDr); } else { newDr[dr["PHY_CODE_MAX"].ToString()] = dr["SAMPLE_COUNT"].ToString(); } } //ultraGrid1.EndUpdate(); ultraGrid1.DataBind();//dataTable发生变化提交给ultraGrid //GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid RefreshAutoSize(startNum - 2); } //查询检验委托上传图片明细信息 /// /// 查询检验委托上传图片明细信息 /// /// /// /// public void QueryCheckConsignDetailFilePath(string path, ArrayList arrayList, OpeBase ob) { DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignDetailFilePath", new Object[] { arrayList }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable4 GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid } //自适应 private void RefreshAutoSize(int num) { if (num < 0) { return; } //ultraGrid1.DisplayLayout.Bands[0].Columns[0].Width = 80; for (int i = num; i < ultraGrid1.DisplayLayout.Bands[0].Columns.Count; i++) { ultraGrid1.DisplayLayout.Bands[0].Columns[i].Width = 60;//设置列宽 } } /// /// 设置上传功能隐藏 /// public void setUltraTextEditor1Hidden() { ultraTextEditor1.ButtonsRight[0].Visible = false; } /// /// 增加列 /// /// 源DataTable /// 需要增加的DataTable public void AddColumns(int startNum, DataTable dt, DataTable dataTable) { if (dt != null && dt.Rows.Count > 0) { ultraGrid1.UpdateData(); int dcNum = dataTable.Columns.Count;//清除列 if (dcNum > startNum)//判断此列是否为空,如果不为空则不清除 { bool isClear; string strClear = "";//需要清除列拼接 foreach (DataColumn dCol in dataTable.Columns) { if (dataTable.Columns.IndexOf(dCol) < startNum) { continue; } isClear = true; foreach (DataRow drR in dt.Rows) { //20151118 if (drR["PHY_CODE_MAX"].ToString() == dCol.ColumnName) { isClear = false; break; } } if (isClear == true) { strClear += dCol.ColumnName + " "; //break; } } if (strClear != "") { string[] arr = strClear.Split(' '); for (int i = 0; i < arr.Length - 1; i++) { if (dataTable.Columns.Contains(arr[i])) { dataTable.Columns.Remove(arr[i]); } } } } DataColumn dc; foreach (DataRow dr in dt.Rows)//增加列 { try { dc = new DataColumn(dr["PHY_CODE_MAX"].ToString()); dc.Caption = dr["PHY_NAME_MAX"].ToString(); dataTable.Columns.Add(dc); } catch { continue; } } } ultraGrid1.DataBind();//dataTable发生变化提交给ultraGrid RefreshAutoSize(startNum - 2); } /// /// 显示列 /// /// 源DataTable /// 需要增加的DataTable public void ShowColumns(int startNum, DataTable dt, DataTable dataTable) { if (dt != null && dataTable != null) { int dcNum = dataTable.Columns.Count;//清除列 if (dcNum > startNum) { for (int i = 0; i < dcNum - startNum; i++) { dataTable.Columns.RemoveAt(startNum); } } foreach (DataRow dr in dt.Rows)//增加列 { try { //SAMPLE_KEY,SAMPLE_KEY_DESC DataColumn dc = new DataColumn(dr["PHY_CODE_MAX"].ToString()); if (dr["PHY_CODE_MAX"].ToString() == "HX") { dc.Caption = "化学"; } else if (dr["PHY_CODE_MAX"].ToString() == "ONH") { dc.Caption = "ONH"; } else { dc.Caption = dr["PHY_NAME_MAX"].ToString(); } dataTable.Columns.Add(dc); } catch { continue; } } } } public void UpdateCheckConsignDetail(string path, OpeBase ob, DataRow[] arrBase, string strFlag, string user, string strDate, string strCondition, string strRemark) { ArrayList alBase = new ArrayList();//存放所有需要更新的基础信息 ArrayList alBaseParams = new ArrayList();//存放单个基础参数信息 foreach (DataRow row in arrBase) { alBaseParams = new ArrayList();//增加要更新的基础标志位信息 alBaseParams.Add(strFlag); alBaseParams.Add(user);//收样人 alBaseParams.Add(strDate);//收样时间 alBaseParams.Add(strRemark); alBaseParams.Add(strRemark);//样品备注row["SAMPLE_REMARK"].ToString() alBaseParams.Add(strCondition); alBaseParams.Add(row["PHY_CODE_MAX"].ToString()); alBaseParams.Add(row["SAMPLE_NO"].ToString()); alBaseParams.Add(row["CHECK_NO"].ToString()); alBase.Add(alBaseParams); } PublicServer.SetData("com.steering.lims.data." + path + ".UpdateCheckConsignDetail", new Object[] { alBase }, ob); } public void UpdateCheckConsignDetailTH(string path, OpeBase ob, DataRow[] arrBase, string strFlag, string user, string strDate, string strCondition, string strRemark) { ArrayList alBase = new ArrayList();//存放所有需要更新的基础信息 ArrayList alBaseParams = new ArrayList();//存放单个基础参数信息 foreach (DataRow row in arrBase) { alBaseParams = new ArrayList();//增加要更新的基础标志位信息 alBaseParams.Add(strFlag); alBaseParams.Add(user);//收样人 alBaseParams.Add(strDate);//收样时间 alBaseParams.Add(strRemark); alBaseParams.Add(strRemark);//样品备注row["SAMPLE_REMARK"].ToString() alBaseParams.Add(strCondition); alBaseParams.Add(row["PHY_CODE_MAX"].ToString()); alBaseParams.Add(row["SAMPLE_NO"].ToString()); alBaseParams.Add(row["CHECK_NO"].ToString()); alBase.Add(alBaseParams); } PublicServer.SetData("com.steering.lims.data." + path + ".UpdateCheckConsignDetailTH", new Object[] { alBase }, ob); } public void UpdateCheckConsignDetailHX(string path, OpeBase ob, DataRow[] arrBase, string strFlag, string user, string strDate, string strCondition, string strRemark) { ArrayList alBase = new ArrayList();//存放所有需要更新的基础信息 ArrayList alBaseParams = new ArrayList();//存放单个基础参数信息 foreach (DataRow row in arrBase) { alBaseParams = new ArrayList();//增加要更新的基础标志位信息 alBaseParams.Add(strFlag); alBaseParams.Add(user);//收样人 alBaseParams.Add(strDate);//收样时间 alBaseParams.Add(strRemark); alBaseParams.Add(strRemark);//样品备注row["SAMPLE_REMARK"].ToString() alBaseParams.Add(strCondition); alBaseParams.Add(row["PHY_CODE_MAX"].ToString()); alBaseParams.Add(row["SAMPLE_NO"].ToString()); alBaseParams.Add(row["CHECK_NO"].ToString()); alBase.Add(alBaseParams); } PublicServer.SetData("com.steering.lims.data." + path + ".UpdateCheckConsignDetailHX", new Object[] { alBase }, ob); } /// /// 加入试验项目(strFlag) /// /// /// /// /// 1-加入试验项目,2-取消加入 /// /// /// /// public void UpdateCheckConsignDetailLX(string path, OpeBase ob, DataRow[] arrBase, string strFlag, string user, string strDate, string strCondition, string strRemark) { ArrayList alBase = new ArrayList();//存放所有需要更新的基础信息 ArrayList alBaseParams = new ArrayList();//存放单个基础参数信息 foreach (DataRow row in arrBase) { alBaseParams = new ArrayList();//增加要更新的基础标志位信息 alBaseParams.Add(strFlag); alBaseParams.Add(user);//收样人 alBaseParams.Add(strDate);//收样时间 alBaseParams.Add(strRemark); alBaseParams.Add(strRemark);//样品备注row["SAMPLE_REMARK"].ToString() alBaseParams.Add(strCondition); alBaseParams.Add(row["PHY_CODE_MAX"].ToString()); alBaseParams.Add(row["SAMPLE_NO"].ToString()); alBaseParams.Add(row["CHECK_NO"].ToString()); alBase.Add(alBaseParams); } PublicServer.SetData("com.steering.lims.data." + path + ".UpdateCheckConsignDetailLX", new Object[] { alBase }, ob); } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { ur = ultraGrid1.ActiveRow; if (PublicUltraGridDetailActive != null) { //ur = ultraGrid1.ActiveRow; PublicUltraGridDetailActive(sender, e);//调用委托事件 } } private void ultraGrid1_CellChange(object sender, CellEventArgs e) { ultraGrid1.UpdateData(); if (e.Cell.Text == "" || e.Cell.Column.Key == "CHK" || e.Cell.Column.Key.IndexOf("SAMPLE") == 0) { return; } if (ultraGrid1.DisplayLayout.Bands[0].Columns.Exists("SAMPLE_NO") && e.Cell.Row.Cells["SAMPLE_NO"].Text.Trim() == "") { MessageUtil.ShowWarning("请先输入样管号!"); e.Cell.Value = ""; return; } if (e.Cell.Column.Key != "TS_SAMPLE_REMARK" && e.Cell.Column.Key != "TS_REMARK") { if (e.Cell.Text.Trim() != "" && StringUtil.IsInt32(e.Cell.Text.Trim()) == false)//HC 2015-07-30 { MessageUtil.ShowWarning("此处必须要输入整数值或保留空白!"); e.Cell.Value = ""; return; } } } private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { PublicPipeAndOutdec.SelectRow(ultraGrid1); } private void ultraTextEditor1_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { UltraGridRow row = ultraGrid1.ActiveRow; string pathNum = ""; if (e.Button.Key.ToLower().Equals("select")) { if (ultraGrid1.ActiveCell.Column.Key == "FILE_PATH1") { //图片1 string filePath = row.GetValue("FILE_PATH1"); dlgOrderAskDown down = new dlgOrderAskDown(this.ob, filePath); down.DeleteButton.Visible = false; down.ShowDialog(); } else if (ultraGrid1.ActiveCell.Column.Key == "FILE_PATH2") { //图片2 string filePath = row.GetValue("FILE_PATH2"); dlgOrderAskDown down = new dlgOrderAskDown(this.ob, filePath); down.DeleteButton.Visible = false; down.ShowDialog(); } else if (ultraGrid1.ActiveCell.Column.Key == "FILE_PATH3") { //图片3 string filePath = row.GetValue("FILE_PATH3"); dlgOrderAskDown down = new dlgOrderAskDown(this.ob, filePath); down.DeleteButton.Visible = false; down.ShowDialog(); } else if (ultraGrid1.ActiveCell.Column.Key == "FILE_PATH4") { //图片4 string filePath = row.GetValue("FILE_PATH4"); dlgOrderAskDown down = new dlgOrderAskDown(this.ob, filePath); down.DeleteButton.Visible = false; down.ShowDialog(); } } else if (e.Button.Key.ToLower().Equals("update")) { string path = "Inspection/" + row.GetValue("CHECK_NO") + "/"; //var serverFileList = FileHelper.Download(row.GetValue("PROCESS_FILE")); List list = new List(); FileBean bean = new FileBean(); OpenFileDialog file = new OpenFileDialog(); file.Filter = "图片文件(*.jpg);(*.gif);(*.png);(*.bmp)|*.jpg;*.gif;*.png;*.bmp"; file.Title = "选择需要上传的图片"; file.Multiselect = false; DialogResult drStat; drStat = file.ShowDialog(); if (drStat == DialogResult.OK) { string filePath = file.FileName; string fileName = System.IO.Path.GetFileName(filePath); bean = new FileBean(); bean.setFileName(fileName); bean.setPathName(path); bean.setFile(FileHelper.FileToArray(filePath)); list.Add(bean); bool isSuccess = Core.Mes.Client.Comm.Server.FileHelper.Upload(list); if (isSuccess) { if (ultraGrid1.ActiveCell.Column.Key == "FILE_PATH1") { row.Cells["FILE_PATH1"].Value = path + fileName; pathNum = "1"; } else if (ultraGrid1.ActiveCell.Column.Key == "FILE_PATH2") { row.Cells["FILE_PATH2"].Value = path + fileName; pathNum = "2"; } else if (ultraGrid1.ActiveCell.Column.Key == "FILE_PATH3") { row.Cells["FILE_PATH3"].Value = path + fileName; pathNum = "3"; } else if (ultraGrid1.ActiveCell.Column.Key == "FILE_PATH4") { row.Cells["FILE_PATH4"].Value = path + fileName; pathNum = "4"; } row.Update(); int count = ServerHelper.SetData("com.steering.lims.data.outdec.PublicOutdecBase.UpdateFilePath", new object[] { row.Cells["CHECK_NO"].Value, row.Cells["SAMPLE_NO"].Value, row.Cells["PHY_CODE_MAX"].Value, pathNum, path + fileName }, this.ob); //MscMsc_BackLog.UpdateProcessFile(row.GetValue("PROCESS_FILE"), msc, mscPline, process, ob); MessageUtil.ShowTips("上传成功!"); } else { MessageUtil.ShowTips("上传失败,请重试!"); } } } } private void ultraTextEditor2_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { UltraGridRow row = ultraGrid1.ActiveRow; if (e.Button.Key.ToLower().Equals("select")) { if (ultraGrid1.ActiveCell.Column.Key == "CRAFT_PATH") { string filePath = row.GetValue("CRAFT_PATH"); PublicPipeAndOutdec.ViewCarft_No(filePath); //dlgOrderAskDown down = new dlgOrderAskDown(this.ob, filePath); //down.DeleteButton.Visible = false; //down.ShowDialog(); } } } private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e) { if (dataTable1.Columns.Contains("JG_PRINT_COUNT")) { if (int.Parse(e.Row.Cells["JG_PRINT_COUNT"].Value.ToString3()) > 0) { e.Row.Appearance.BackColor = Color.LightGreen; } } if (dataTable1.Columns.Contains("LAB_PRINT_COUNT")) { if (int.Parse(e.Row.Cells["LAB_PRINT_COUNT"].Value.ToString3()) > 0) { e.Row.Appearance.BackColor = Color.LightGreen; } } } internal void Export(string title) { GridHelper.ulGridToExcel(ultraGrid1, title); } } }