using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Reflection; using System.Windows.Forms; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Mcp.Control.Entity; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using ColumnStyle = Infragistics.Win.UltraWinGrid.ColumnStyle; namespace Core.StlMes.Client.Mcp.Control.HeatTreatment { public partial class CrackDetectionPatameter : UserControl { public CrackDetectionPatameter() { InitializeComponent(); EntityHelper.ShowGridCaption(ugPara.DisplayLayout.Bands[0]); httCrackDetectionParaEntityBindingSource.DataSource = new List() { new HttCrackDetectionParaEntity() }; listProbe = new List(); listStand = new List(); } private OpeBase ob; public OpeBase Ob { get { return ob; } set { ob = value; } } private string _plineCode = ""; private string _machineNo = ""; public string MachineNo { get { return _machineNo; } } private List HttReportDefaultEntity = null; public List listProbe { get; set; } public List listStand { get; set; } public int ReportType { get; set; } public void SetLevl() { if(list==null || !list.Any()) return; if (listNames.Any(p => p.UserName == list[0].OperatorName)) list[0].OperatorLevel = listNames.Where(p => p.UserName == list[0].OperatorName).Select(p => p.UseridGrade).FirstOrDefault(); if (listNames.Any(p => p.UserName == list[0].Signatory)) list[0].SignatoryLevel = listNames.Where(p => p.UserName == list[0].Signatory).Select(p => p.UseridGrade).FirstOrDefault(); } private List listNames =new List(); public List list { private set; get; } public void DisableFiltering() { ugPara.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False; /* foreach (var ugc in ugPara.DisplayLayout.Bands[0].Columns) { ugc.SortIndicator = SortIndicator.Disabled; }*/ ugPara.DisplayLayout.Bands[0].Override.HeaderClickAction = HeaderClickAction.Select; } public void SetValue(string ResultNo, string PlineCode, DataTable dtStand, List HttDefault = null, string MachineNo="1") { //有设置数据 不再赋默认值 bool HasData = false; // 产线更换 重新绑定 bool ChangePlineCode = false; if (MachineNo == "") MachineNo = "1"; #region MyRegion if (HttDefault == null) { var listExist = EntityHelper.GetData( "com.steering.mes.mcp.heatTreatment.FrmHttCrackDetectResult.getCrackPara", new object[] {ResultNo, ReportType}, ob); if (!listExist.Any()) { if (_plineCode == PlineCode && _machineNo == MachineNo) { DefaulFromCraft(dtStand); httCrackDetectionParaEntityBindingSource.DataSource = list; ugPara.Refresh(); return; } list = new List() {new HttCrackDetectionParaEntity()}; listProbe = new List(); listStand = new List(); } else { list = listExist; ; HasData = true; listProbe = EntityHelper.GetData( "com.steering.mes.mcp.heatTreatment.FrmHttCrackDetectResult.getReportDeafault", new object[] {list[0].ProbeId}, ob) ?? new List(); list[0].ProbeName = listProbe.Any() ? listProbe.Select(p => p.ProbeTypeName).Aggregate((a, b) => a + (a == "" ? "" : ",") + b) : ""; listStand = EntityHelper.GetData( "com.steering.mes.mcp.heatTreatment.FrmHttCrackDetectResult.getReportDeafault", new object[] {list[0].StandardId}, ob) ?? new List(); list[0].StandardName = listStand.Any() ? listStand.Select(p => p.StandardName).Aggregate((a, b) => a + (a == "" ? "" : ",") + b) : ""; } if (_plineCode != PlineCode || _machineNo != MachineNo) { _plineCode = PlineCode; _machineNo = MachineNo; HttReportDefaultEntity = EntityHelper.GetData( "com.steering.mes.mcp.heatTreatment.FrmHttCrackDetectResult.getReportDeafault", new object[] { PlineCode, ReportType, MachineNo }, ob); ChangePlineCode = true; } } else { ChangePlineCode = true; HasData = false; list = new List() { new HttCrackDetectionParaEntity() }; listProbe = new List(); listStand = new List(); HttReportDefaultEntity = HttDefault; } #endregion #region 根据产线 默认 绑定 设置默认值 if (HttReportDefaultEntity != null && HttReportDefaultEntity.Any()) { var Properties = list[0].GetType().GetProperties(); if (ChangePlineCode) { foreach (var ultraGridColumn in ugPara.DisplayLayout.Bands[0].Columns) { ultraGridColumn.Hidden = true; ultraGridColumn.EditorComponent = null; ultraGridColumn.Style = ColumnStyle.Default; ultraGridColumn.ValueList = null; } } for (int i = 0; i < HttReportDefaultEntity.Count; i++) { HttReportDefaultEntity defaultEntity = HttReportDefaultEntity[i]; var Propertie = Properties.Where( p => p.Name.ToUpper() == defaultEntity.ReportColumn.Replace("_", "").ToUpper()) .ToList(); if (Propertie.Any()) { if (ChangePlineCode) { ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].Hidden = false; /* ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].RowLayoutColumnInfo.OriginX = (i/4)* 2; ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].RowLayoutColumnInfo.OriginY = (i%4)* 2; */ ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].RowLayoutColumnInfo.OriginX =int.Parse(defaultEntity.OriginX.ToString3()); ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].RowLayoutColumnInfo.OriginY = int.Parse(defaultEntity.OriginY.ToString3()); ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].RowLayoutColumnInfo.PreferredCellSize = new System.Drawing.Size(int.Parse(defaultEntity.CellSizeWidth.ToString3()), int.Parse(defaultEntity.CellSizeHigh.ToString3())); ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].RowLayoutColumnInfo.PreferredLabelSize = new System.Drawing.Size(int.Parse(defaultEntity.LabelSizeWidth.ToString3()), int.Parse(defaultEntity.LabelSizeHigh.ToString3())); ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].RowLayoutColumnInfo.SpanX = int.Parse(defaultEntity.SpanX.ToString3()); ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].RowLayoutColumnInfo.SpanY = int.Parse(defaultEntity.SpanY.ToString3()); } if (defaultEntity.ColumnType == "0") { if (!HasData) SetPropertyValue(Propertie[0], list[0], defaultEntity.TextDefault); } else if (defaultEntity.ColumnType == "1" || defaultEntity.ColumnType == "2") { if (ChangePlineCode) { ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].Style = defaultEntity.ColumnType == "1" ? ColumnStyle.DropDownList : ColumnStyle.DropDown; ValueList vlist = new ValueList(); string[] chooses = defaultEntity.DroplistUsed.Split(';'); if (defaultEntity.DroplistDefult != "" ) { var dt = ServerHelper.GetData( "com.steering.mes.mcp.collarMaterial.ComBaseInfo.getBaseInfo", new object[] {defaultEntity.DroplistDefult}, ob); if (dt != null && dt.Rows.Count > 0) { foreach (DataRow row in dt.Rows) { if (defaultEntity.DroplistUsed == "") vlist.ValueListItems.Add(row["BASENAME"].ToString()); else if ( defaultEntity.DroplistUsed.Split(';') .Contains(row["BASECODE"].ToString()) || defaultEntity.DroplistUsed.Split(';') .Contains(row["BASENAME"].ToString())) { vlist.ValueListItems.Add(row["BASENAME"].ToString()); } } } } else { foreach (var choose in chooses) { vlist.ValueListItems.Add(choose.Replace("\n","\r\n")); } } ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].ValueList = vlist; } if (!HasData) SetPropertyValue(Propertie[0], list[0], defaultEntity.TextDefault); } else if (defaultEntity.ColumnType == "99") { if (defaultEntity.ReportColumn.ToUpper() == "PROBE_NAME") { if ( !HasData) { ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].EditorComponent = utProbe; ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].ButtonDisplayStyle = Infragistics.Win.UltraWinGrid.ButtonDisplayStyle.Always; var dt = ServerHelper.GetData( "com.steering.mes.mcp.collarMaterial.ComBaseInfo.getBaseInfo", new object[] {"4097"}, ob); string[] defaultProbe = defaultEntity.TextDefault.Split(';'); if (dt != null && dt.Rows.Count > 0 && defaultProbe.Length > 0) { foreach (string Probe in defaultProbe) { listProbe.Add(new HttCrackDetectionProbeEntity() { ProbeTypeCode = Probe, ProbeTypeName = dt.AsEnumerable() .Where(p => p["BASECODE"].ToString() == Probe) .Select(p => p["BASENAME"].ToString()) .FirstOrDefault(), ProbeQty = HttReportDefaultEntity.Any( p => p.ReportColumn.ToUpper() == "PROBE_QTY_" + Probe) ? HttReportDefaultEntity.Where( p => p.ReportColumn.ToUpper() == "PROBE_QTY_" + Probe). Select(p => p.TextDefault).FirstOrDefault() : "", ProbeParameters = HttReportDefaultEntity.Any( p => p.ReportColumn.ToUpper() == "PROBE_PARAMETERS_" + Probe) ? HttReportDefaultEntity.Where( p => p.ReportColumn.ToUpper() == "PROBE_PARAMETERS_" + Probe). Select(p => p.TextDefault).FirstOrDefault() : "" }); } list[0].ProbeName = listProbe.Any() ? listProbe.Select(p => p.ProbeTypeName).Aggregate((a, b) => a + (a == "" ? "" : ",") + b) : ""; } } } if (defaultEntity.ReportColumn.ToUpper() == "STANDARD_NAME") { ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].EditorComponent = utStandard; ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].ButtonDisplayStyle = Infragistics.Win.UltraWinGrid.ButtonDisplayStyle.Always; } } } } } #endregion if (ChangePlineCode) { listNames = EntityHelper.GetData( "com.steering.mes.mcp.heatTreatment.FrmHttCrackDetectResult.getHttSign", new object[] { PlineCode, "4"}, ob); ValueList vlist = new ValueList(); foreach (HttSignatureEntity row in listNames) { vlist.ValueListItems.Add(row.UserName); } ugPara.DisplayLayout.Bands[0].Columns["OperatorName"].ValueList = vlist; ugPara.DisplayLayout.Bands[0].Columns["OperatorName"].Style = ColumnStyle.DropDown; ugPara.DisplayLayout.Bands[0].Columns["OperatorName"].ButtonDisplayStyle = Infragistics.Win.UltraWinGrid.ButtonDisplayStyle.Always; ugPara.DisplayLayout.Bands[0].Columns["Signatory"].ValueList = vlist; ugPara.DisplayLayout.Bands[0].Columns["Signatory"].Style = ColumnStyle.DropDown; ugPara.DisplayLayout.Bands[0].Columns["Signatory"].ButtonDisplayStyle = Infragistics.Win.UltraWinGrid.ButtonDisplayStyle.Always; } DefaulFromCraft(dtStand); httCrackDetectionParaEntityBindingSource.DataSource = list; ugPara.Refresh(); } private void DefaulFromCraft(DataTable dtStand) { if (dtStand != null && dtStand.Rows.Count > 0) { if (ReportType == 0) { //超声管体 缺陷信息 var UtDefect = dtStand.AsEnumerable().Where(p => p["PHY_CODE"].ToString2() == "P0032").ToList(); //超声管体 壁厚 var UtWall = dtStand.AsEnumerable().Where(p => p["PHY_CODE"].ToString2() == "P0105").ToList(); //超声管体 分层 var UtLam = dtStand.AsEnumerable().Where(p => p["PHY_CODE"].ToString2() == "P0104").ToList(); if (UtDefect.Count > 0) { string Dir = UtDefect[0]["GROOVE_DIR"].ToString2(); string Pos = UtDefect[0]["GROOVE_POS"].ToString2(); if (ugPara.DisplayLayout.Bands[0].Columns["LongitudinalInternal"].Hidden == false) list[0].LongitudinalInternal = Pos.Contains("内") && Dir.Contains("纵") ? UtDefect[0]["LV_DESC"].ToString2() : "/"; if (ugPara.DisplayLayout.Bands[0].Columns["LongitudinalExternal"].Hidden == false) list[0].LongitudinalExternal = Pos.Contains("外") && Dir.Contains("纵") ? UtDefect[0]["LV_DESC"].ToString2() : "/"; if (ugPara.DisplayLayout.Bands[0].Columns["TransverseInternal"].Hidden == false) list[0].TransverseInternal = Pos.Contains("内") && Dir.Contains("横") ? UtDefect[0]["LV_DESC"].ToString2() : "/"; if (ugPara.DisplayLayout.Bands[0].Columns["TransverseExternal"].Hidden == false) list[0].TransverseExternal = Pos.Contains("外") && Dir.Contains("横") ? UtDefect[0]["LV_DESC"].ToString2() : "/"; if (ugPara.DisplayLayout.Bands[0].Columns["StandardDefect"].Hidden == false) list[0].StandardDefect = UtDefect[0]["STD_NAME"].ToString2(); if (ugPara.DisplayLayout.Bands[0].Columns["CoverageDefect"].Hidden == false) list[0].CoverageDefect = UtDefect[0]["COVERAGE"].ToString2(); if (ugPara.DisplayLayout.Bands[0].Columns["FrequencyDefect"].Hidden == false) list[0].FrequencyDefect = UtDefect[0]["DESC_RATE"].ToString2(); } if (UtWall.Count > 0) { if (ugPara.DisplayLayout.Bands[0].Columns["StandardWall"].Hidden == false) list[0].StandardWall = UtWall[0]["STD_NAME"].ToString2(); if (ugPara.DisplayLayout.Bands[0].Columns["CoverageWall"].Hidden == false) list[0].CoverageWall = UtWall[0]["COVERAGE"].ToString2(); if (ugPara.DisplayLayout.Bands[0].Columns["FrequencyWall"].Hidden == false) list[0].FrequencyWall = UtWall[0]["DESC_RATE"].ToString2(); if (ugPara.DisplayLayout.Bands[0].Columns["WallThickness"].Hidden == false) list[0].WallThickness = UtWall[0]["SIC"].ToString2(); } else { if (ugPara.DisplayLayout.Bands[0].Columns["WallThickness"].Hidden == false) list[0].WallThickness = "/"; if (ugPara.DisplayLayout.Bands[0].Columns["StandardWall"].Hidden == false) list[0].StandardWall = "/"; if (ugPara.DisplayLayout.Bands[0].Columns["CoverageWall"].Hidden == false) list[0].CoverageWall = "/"; if (ugPara.DisplayLayout.Bands[0].Columns["FrequencyWall"].Hidden == false) list[0].FrequencyWall = "/"; } if (UtLam.Count > 0) { if (ugPara.DisplayLayout.Bands[0].Columns["StandardLam"].Hidden == false) list[0].StandardLam = UtLam[0]["STD_NAME"].ToString2(); if (ugPara.DisplayLayout.Bands[0].Columns["CoverageLam"].Hidden == false) list[0].CoverageLam = UtLam[0]["COVERAGE"].ToString2(); if (ugPara.DisplayLayout.Bands[0].Columns["FrequencyLam"].Hidden == false) list[0].FrequencyLam = UtLam[0]["DESC_RATE"].ToString2(); if (list[0].Lamination == "/") { list[0].Lamination = ""; } } else { if (ugPara.DisplayLayout.Bands[0].Columns["Lamination"].Hidden == false) list[0].Lamination = "/"; if (ugPara.DisplayLayout.Bands[0].Columns["StandardLam"].Hidden == false) list[0].StandardLam = "/"; if (ugPara.DisplayLayout.Bands[0].Columns["CoverageLam"].Hidden == false) list[0].CoverageLam = "/"; if (ugPara.DisplayLayout.Bands[0].Columns["FrequencyLam"].Hidden == false) list[0].FrequencyLam = "/"; } } if (ReportType == 4) { //涡流探伤 缺陷信息 var UtDefect = dtStand.AsEnumerable().Where(p => p["PHY_CODE"].ToString2() == "P0044").ToList(); if (UtDefect.Count > 0) { if (ugPara.DisplayLayout.Bands[0].Columns["AccpetanceLevel"].Hidden == false) list[0].AccpetanceLevel = UtDefect[0]["LV_DESC"].ToString2(); if (ugPara.DisplayLayout.Bands[0].Columns["StandardDefect"].Hidden == false) list[0].StandardDefect = UtDefect[0]["STD_NAME"].ToString2(); if (ugPara.DisplayLayout.Bands[0].Columns["CoverageDefect"].Hidden == false) list[0].CoverageDefect = UtDefect[0]["COVERAGE"].ToString2(); if (ugPara.DisplayLayout.Bands[0].Columns["FrequencyDefect"].Hidden == false) list[0].FrequencyDefect = UtDefect[0]["DESC_RATE"].ToString2(); } } } } public bool CheckNull(out string Message) { Message = ""; if (list == null || list.Count <= 0) return true; HttCrackDetectionParaEntity data = list[0]; foreach (HttReportDefaultEntity defaultEntity in HttReportDefaultEntity.Where(p => p.CheckNull == "1").ToList()) { var Properties = list[0].GetType().GetProperties(); var Propertie = Properties.Where( p => p.Name.ToUpper() == defaultEntity.ReportColumn.Replace("_", "").ToUpper()) .ToList(); if (Propertie.Any()) { if (Propertie[0].GetValue(data,null).ToString2() == "") { object[] desAttributes = (Propertie[0].GetCustomAttributes(typeof(DescriptionAttribute), false)); if (desAttributes.Length > 0) { Message = ((DescriptionAttribute)desAttributes[0]).Description + "不能为空"; } return false; } } } return true; } public void SetValue(HttReportDefaultEntity defaultEntity,string ChangeKey) { if (list == null || !list.Any()) list = new List() {new HttCrackDetectionParaEntity()}; var Properties = list[0].GetType().GetProperties(); var Propertie = Properties.Where( p => p.Name.ToUpper() == defaultEntity.ReportColumn.Replace("_", "").ToUpper()) .ToList(); if (Propertie.Any()) { switch (ChangeKey) { case "ColumnType": if (defaultEntity.ReportColumn.ToUpper() == "PROBE_NAME" || defaultEntity.ReportColumn.ToUpper() == "STANDARD_NAME") { return; } if (defaultEntity.ColumnType == "0") { ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].Style = ColumnStyle.Default; ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].ValueList = null; } else if (defaultEntity.ColumnType == "1" || defaultEntity.ColumnType == "2") { ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].Style = defaultEntity.ColumnType == "1" ? ColumnStyle.DropDownList : ColumnStyle.DropDown; ValueList vlist1 = new ValueList(); string[] chooses1 = defaultEntity.DroplistUsed.Split(';'); if (defaultEntity.DroplistDefult != "" && defaultEntity.DroplistUsed == "") { var dt = ServerHelper.GetData( "com.steering.mes.mcp.collarMaterial.ComBaseInfo.getBaseInfo", new object[] { defaultEntity.DroplistDefult }, ob); if (dt != null && dt.Rows.Count > 0) { foreach (DataRow row in dt.Rows) { vlist1.ValueListItems.Add(row["BASENAME"].ToString()); } } } else { foreach (var choose in chooses1) { vlist1.ValueListItems.Add(choose); } } ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].ValueList = vlist1; } break; case "TextDefault": if (defaultEntity.ReportColumn.ToUpper() == "PROBE_NAME" ) { listProbe = new DataSourceList(); var dt = ServerHelper.GetData( "com.steering.mes.mcp.collarMaterial.ComBaseInfo.getBaseInfo", new object[] { "4097" }, ob); string[] defaultProbe = defaultEntity.TextDefault.Split(';'); if (dt != null && dt.Rows.Count > 0 && defaultProbe.Length > 0) { foreach (string Probe in defaultProbe) { listProbe.Add(new HttCrackDetectionProbeEntity() { ProbeTypeCode = Probe, ProbeTypeName = dt.AsEnumerable() .Where(p => p["BASECODE"].ToString() == Probe) .Select(p => p["BASENAME"].ToString()) .FirstOrDefault(), ProbeQty = HttReportDefaultEntity.Any( p => p.ReportColumn.ToUpper() == "PROBE_QTY_" + Probe) ? HttReportDefaultEntity.Where( p => p.ReportColumn.ToUpper() == "PROBE_QTY_" + Probe). Select(p => p.TextDefault).FirstOrDefault() : "", ProbeParameters = HttReportDefaultEntity.Any( p => p.ReportColumn.ToUpper() == "PROBE_PARAMETERS_" + Probe) ? HttReportDefaultEntity.Where( p => p.ReportColumn.ToUpper() == "PROBE_PARAMETERS_" + Probe). Select(p => p.TextDefault).FirstOrDefault() : "" }); } list[0].ProbeName = listProbe.Any() ? listProbe.Select(p => p.ProbeTypeName).Aggregate((a, b) => a + (a == "" ? "" : ",") + b) : ""; } }else if (defaultEntity.ReportColumn.ToUpper() == "STANDARD_NAME") { listStand = new List(); list[0].StandardName = ""; } else { SetPropertyValue(Propertie[0], list[0], defaultEntity.TextDefault); } break; case "DroplistDefult": if (defaultEntity.ReportColumn.ToUpper() == "PROBE_NAME" || defaultEntity.ReportColumn.ToUpper() == "STANDARD_NAME") { return; } if (defaultEntity.DroplistUsed == "") { ValueList vlist1 = new ValueList(); var dt = ServerHelper.GetData( "com.steering.mes.mcp.collarMaterial.ComBaseInfo.getBaseInfo", new object[] { defaultEntity.DroplistDefult }, ob); if (dt != null && dt.Rows.Count > 0) { foreach (DataRow row in dt.Rows) { vlist1.ValueListItems.Add(row["BASENAME"].ToString()); } } ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].ValueList = vlist1; } break; case "DroplistUsed": if (defaultEntity.ReportColumn.ToUpper() == "PROBE_NAME" || defaultEntity.ReportColumn.ToUpper() == "STANDARD_NAME") { return; } ValueList vlist = new ValueList(); string[] chooses = defaultEntity.DroplistUsed.Split(';'); if (defaultEntity.DroplistDefult != "" && defaultEntity.DroplistUsed == "") { var dt = ServerHelper.GetData( "com.steering.mes.mcp.collarMaterial.ComBaseInfo.getBaseInfo", new object[] { defaultEntity.DroplistDefult }, ob); if (dt != null && dt.Rows.Count > 0) { foreach (DataRow row in dt.Rows) { vlist.ValueListItems.Add(row["BASENAME"].ToString()); } } } else { foreach (var choose in chooses) { vlist.ValueListItems.Add(choose.Replace("\n", "\r\n")); } } ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].ValueList = vlist; break; case "ColumnVisible": ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].Hidden = defaultEntity.ColumnVisible != "1"; break; case "OriginX": ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].RowLayoutColumnInfo.OriginX = int.Parse(defaultEntity.OriginX.ToString3()); break; case "OriginY": ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].RowLayoutColumnInfo.OriginY = int.Parse(defaultEntity.OriginY.ToString3()); break; case "SpanX": ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].RowLayoutColumnInfo.SpanX = int.Parse(defaultEntity.SpanX.ToString3()); break; case "SpanY": ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].RowLayoutColumnInfo.SpanY = int.Parse(defaultEntity.SpanY.ToString3()); break; case "CellSizeWidth" : case "CellSizeHigh": ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].RowLayoutColumnInfo.PreferredCellSize = new System.Drawing.Size(int.Parse(defaultEntity.CellSizeWidth.ToString3()), int.Parse(defaultEntity.CellSizeHigh.ToString3())); break; case "LabelSizeWidth": case "LabelSizeHigh": ugPara.DisplayLayout.Bands[0].Columns[Propertie[0].Name].RowLayoutColumnInfo.PreferredLabelSize = new System.Drawing.Size(int.Parse(defaultEntity.LabelSizeWidth.ToString3()), int.Parse(defaultEntity.LabelSizeHigh.ToString3())); break; } } ugPara.UpdateData(); ugPara.Refresh(); } /// /// 上料炉号 /// public string FeedStoveNo { get; set; } public decimal ActCount { get; set; } public string BatchNo { get; set; } public string GroupNo { get; set; } public void SetFont(Font f1) { ugPara.Font = f1; foreach (UltraGridColumn UltraGridColumn in ugPara.DisplayLayout.Bands[0].Columns) { UltraGridColumn.Header.Appearance.FontData.Bold = f1.Bold ? DefaultableBoolean.True : DefaultableBoolean.False; UltraGridColumn.Header.Appearance.FontData.Name = f1.Name; UltraGridColumn.Header.Appearance.FontData.SizeInPoints = f1.SizeInPoints; } } private void ugPara_CellChange(object sender, CellEventArgs e) { ugPara.UpdateData(); if (e.Cell.Column.Key.Equals("OperatorName")) { if (listNames!=null&& listNames.Any(p => p.UserName == list[0].OperatorName)) list[0].OperatorLevel = listNames.Where(p => p.UserName == list[0].OperatorName).Select(p => p.UseridGrade).FirstOrDefault(); } if (e.Cell.Column.Key.Equals("Signatory")) { if (listNames != null && listNames.Any(p => p.UserName == list[0].Signatory)) list[0].SignatoryLevel = listNames.Where(p => p.UserName == list[0].Signatory).Select(p => p.UseridGrade).FirstOrDefault(); } this.ugPara.UpdateData(); ugPara.Refresh(); } /// /// 设置属性值 当属性类型和实际值类型不一样 做强制转换 /// /// /// /// private static void SetPropertyValue(PropertyInfo propertyInfo, object model, object data) { try { if (data == null) return; propertyInfo.SetValue(model, propertyInfo.PropertyType == data.GetType() ? data : Convert.ChangeType(data, propertyInfo.PropertyType), null); } catch (Exception) { // ignored } } private void utProbe_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { FrmChooseProbe FrmChooseProbe = new FrmChooseProbe(HttReportDefaultEntity, listProbe.Select(p=>p.Clone()).ToList(),ob); FrmChooseProbe.ShowDialog(); if (FrmChooseProbe.DialogResult == DialogResult.OK) { listProbe = FrmChooseProbe.GetValue(); list[0].ProbeName = listProbe.Any() ? listProbe.Select(p => p.ProbeTypeName).Aggregate((a, b) => a + (a == "" ? "" : ",") + b) : ""; } ugPara.PerformAction(UltraGridAction.ExitEditMode); } private void utStandard_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { FrmChooseStandard FrmChooseStandard = new FrmChooseStandard(HttReportDefaultEntity, listStand.Select(p => p.Clone()).ToList(), ob); FrmChooseStandard.ShowDialog(); if (FrmChooseStandard.DialogResult == DialogResult.OK) { listStand = FrmChooseStandard.GetValue(); list[0].StandardName = listStand.Any() ? listStand.Select(p => p.StandardName).Aggregate((a, b) => a + (a == "" ? "" : ",") + b) : ""; } ugPara.PerformAction(UltraGridAction.ExitEditMode); } } }