using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using Core.Mes.Client.Comm.Server; using Infragistics.Win; using Infragistics.Win.UltraWinEditors; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; using Infragistics.Win.UltraWinMaskedEdit; namespace Core.StlMes.Client.ZGMil.Signature { public class TubeRoll { /// /// 初始化下拉框 --带参数的 /// /// /// /// /// /// /// public static void InitComboEditorWithParm(UltraComboEditor uce, string methodId, string valueMember, OpeBase ob, bool isEmpty, string[] parm) { DataTable dt = ServerHelper.GetData(methodId, new Object[] { parm }, ob); if (dt != null && dt.Rows.Count > 0) { if (isEmpty) { Object[] obj = new Object[] { "", "" }; DataRow dr = dt.NewRow(); dr.ItemArray = obj; dt.Rows.InsertAt(dr, 0); } uce.DataSource = dt; uce.ValueMember = valueMember; SetComboItemHeight(uce); } } /// /// 初始化下拉框 /// /// 下拉框 /// 请求的服务 /// 值成员 /// ob对象 /// 是否有空行 public static void InitComboEditor(UltraComboEditor uce, string methodId, string valueMember, OpeBase ob, bool isEmpty) { DataTable dt = ServerHelper.GetData(methodId, null, ob); if (dt != null && dt.Rows.Count > 0) { if (isEmpty) { Object[] obj = new Object[] { "", "" }; DataRow dr = dt.NewRow(); dr.ItemArray = obj; dt.Rows.InsertAt(dr, 0); } uce.DataSource = dt; uce.ValueMember = valueMember; SetComboItemHeight(uce); } } /// /// 初始化下拉框 /// /// 下拉框 /// 请求的服务 /// 值成员 /// ob对象 /// 是否有空行 public static void InitCombo(UltraCombo uce, string methodId, string valueMember, OpeBase ob, bool isEmpty) { DataTable dt = ServerHelper.GetData(methodId, null, ob); if (dt != null && dt.Rows.Count > 0) { if (isEmpty) { Object[] obj = new Object[] { "", "" }; DataRow dr = dt.NewRow(); dr.ItemArray = obj; dt.Rows.InsertAt(dr, 0); } uce.DataSource = dt; uce.ValueMember = valueMember; } } /// /// 将下拉框绑定到GRID列 /// /// 下拉框(已经初始化完成) /// 列名 /// 空间集合(每次只需填入this.Controls) /// GRID /// GRID的第几层结构 public static void BindColumnComb(UltraCombo uce, string ColumnName, System.Windows.Forms.Control.ControlCollection con, UltraGrid ug, int i) { con.Add(uce); uce.Visible = false; ug.DisplayLayout.Bands[i].Columns[ColumnName].EditorComponent = uce; ug.DisplayLayout.Bands[i].Columns[ColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; } /// /// 设置UltraComboEditor中的中文和非中文统一高度。 /// /// public static void SetComboItemHeight(UltraComboEditor cmb) { foreach (ValueListItem item in cmb.Items) { if (System.Text.RegularExpressions.Regex.IsMatch(item.DisplayText, @"[\u4e00-\u9fa5]+")) { item.Appearance.FontData.SizeInPoints = 9.0F; } else { item.Appearance.FontData.SizeInPoints = 10.5F; } } } /// /// 将下拉框绑定到GRID列 /// /// 下拉框(已经初始化完成) /// 列名 /// 空间集合(每次只需填入this.Controls) /// GRID /// GRID的第几层结构 public static void BindColumn(UltraComboEditor uce, string ColumnName, System.Windows.Forms.Control.ControlCollection con, UltraGrid ug, int i) { con.Add(uce); uce.Visible = false; ug.DisplayLayout.Bands[i].Columns[ColumnName].EditorComponent = uce; ug.DisplayLayout.Bands[i].Columns[ColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown; SetComboItemHeight(uce); } /// /// 将下拉框绑定到GRID行 /// /// 下拉框(已经初始化完成) /// 列名 /// 空间集合(每次只需填入this.Controls) /// GRID /// GRID的第几层结构 public static void BindRow(UltraComboEditor uce, string ColumnName, System.Windows.Forms.Control.ControlCollection con, UltraGridRow ug, int i) { con.Add(uce); uce.Visible = false; ug.Cells[ColumnName].EditorComponent = uce; ug.Cells[ColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; SetComboItemHeight(uce); } /// /// 将下拉框绑定到GRID行 /// /// 下拉框(已经初始化完成) /// 列名 /// 空间集合(每次只需填入this.Controls) /// GRID /// GRID的第几层结构 public static void BindRow1(UltraCombo uce, string ColumnName, System.Windows.Forms.Control.ControlCollection con, UltraGridRow ug, int i) { con.Add(uce); uce.Visible = false; ug.Cells[ColumnName].EditorComponent = uce; ug.Cells[ColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; //SetComboItemHeight1(uce); } /// /// 设置列显示位数重量 /// /// /// public static void setUltraGridColumnMaxInput(UltraGrid ug, string[] arr) { if (ug == null || arr == null || arr.Length == 0) { return; } arr.ToArray(); foreach (UltraGridColumn ugc in ug.DisplayLayout.Bands[0].Columns) { if (arr.Contains(ugc.Key.ToString())) { ugc.MaskDisplayMode = MaskMode.IncludeLiterals; ugc.MaskInput = "{LOC}n,nnn,nnn.nnn"; } } } /// /// 设置列显示位数支数 /// /// /// public static void setUltraGridColumnInput(UltraGrid ug, string[] arr) { if (ug == null || arr == null || arr.Length == 0) { return; } arr.ToArray(); foreach (UltraGridColumn ugc in ug.DisplayLayout.Bands[0].Columns) { if (arr.Contains(ugc.Key.ToString())) { ugc.MaskDisplayMode = MaskMode.IncludeLiterals; ugc.MaskInput = "{LOC}nnn,nnn"; } } } /// /// 获取指定分类的公用基础信息 /// /// 快速索引码 /// 界面OB对象 /// 查询数据集 public static DataTable GetComBaseInfo(string sortCode, OpeBase ob) { return ServerHelper.GetData("com.steering.mes.signature.FrmMilControlLog.getComBaseInfo", new object[] { sortCode }, ob); } /// /// 初始化下拉框(有参数) /// /// 下拉框 /// 请求的服务 /// 值成员 /// ob对象 /// 是否有空行 public static void InitComboEditorValue(UltraComboEditor uce, string methodId, string valueMember, OpeBase ob, bool isEmpty, string sortCode) { DataTable dt = ServerHelper.GetData(methodId, new object[] { sortCode }, ob); if (dt != null && dt.Rows.Count > 0) { if (isEmpty) { Object[] obj = new Object[] { "", "" }; DataRow dr = dt.NewRow(); dr.ItemArray = obj; dt.Rows.InsertAt(dr, 0); } uce.DataSource = dt; uce.ValueMember = valueMember; //uce.DataMember = valueMember; SetComboItemHeight(uce); } } /// /// 获取两个时间段的差值 /// /// 开始时间 /// 结时时间 /// minutes public static int JudgeTime(DateTime startTime, DateTime endTime) { int lStayDuration = 0; TimeSpan odtSpan; if (endTime > startTime) { odtSpan = endTime - startTime; lStayDuration = Convert.ToInt32(System.Math.Round(odtSpan.TotalMinutes)); } else { odtSpan = startTime - endTime; lStayDuration = Convert.ToInt32(System.Math.Round(odtSpan.TotalMinutes)); } return lStayDuration; } /// /// 获取两个时间段的差值 /// /// 开始时间 /// 结时时间 /// minutes public static int JudgeTimeMax(DateTime startTime, DateTime endTime) { int lStayDuration = 0; TimeSpan odtSpan; if (endTime > startTime) { odtSpan = endTime - startTime; lStayDuration = Convert.ToInt32(System.Math.Round(odtSpan.TotalMinutes)); } return lStayDuration; } /// /// 列求和重量 /// /// UltraGrid /// 列数组(重量) public static void GridColumnSum(UltraGrid ug, string[] columnKeys) { if (columnKeys.Length == 0) { return; } for (int i = 0; i < columnKeys.Length; i++) { SummarySettings summary = ug.DisplayLayout.Bands[0].Summaries.Add(SummaryType.Sum, ug.DisplayLayout.Bands[0].Columns[columnKeys[i]], SummaryPosition.UseSummaryPositionColumn); summary.DisplayFormat = "{0:N2}"; summary.Appearance.TextHAlign = Infragistics.Win.HAlign.Right; } } /// /// 统计放grid前 /// /// public static void SetGridSumArea(Infragistics.Win.UltraWinGrid.UltraGridBase Grid) { try { //Grid.DisplayLayout.GroupByBox.Hidden if (Grid.Rows.Count == 0) { foreach (Infragistics.Win.UltraWinGrid.UltraGridBand band in Grid.DisplayLayout.Bands) { foreach (Infragistics.Win.UltraWinGrid.SummarySettings sum in band.Summaries) { sum.SummaryDisplayArea = Infragistics.Win.UltraWinGrid.SummaryDisplayAreas.None; } } } else { foreach (Infragistics.Win.UltraWinGrid.UltraGridBand band in Grid.DisplayLayout.Bands) { foreach (Infragistics.Win.UltraWinGrid.SummarySettings sum in band.Summaries) { if (Grid.DisplayLayout.GroupByBox.Hidden) { sum.SummaryDisplayArea = Infragistics.Win.UltraWinGrid.SummaryDisplayAreas.Top; } else { sum.SummaryDisplayArea = ((Infragistics.Win.UltraWinGrid.SummaryDisplayAreas)((Infragistics.Win.UltraWinGrid.SummaryDisplayAreas.Top | Infragistics.Win.UltraWinGrid.SummaryDisplayAreas.InGroupByRows | Infragistics.Win.UltraWinGrid.SummaryDisplayAreas.GroupByRowsFooter))); } } } } } catch (System.Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString()); } } } }