using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; using Infragistics.Win.UltraWinMaskedEdit; using Microsoft.Office.Interop.Excel; using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Windows.Forms; namespace Core.StlMes.Client.Lims.Port.封装类.方法 { class BaseMethod { /// /// 设置列显示位数 /// /// /// 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.MaskClipMode = MaskMode.IncludeLiterals; ugc.MaskInput = "{LOC}nn,nnn,nnn.nnn"; } } } /// /// 炉号去-后的字符 /// /// /// public static string getJudgeStoveNo(string JudgeStoveNo) { Regex regex = new Regex("-[0-9]*"); return regex.Replace(JudgeStoveNo, ""); } /// /// 键盘按下Ctrl+D,拷贝活动单元格的数据到所有已勾选的此列的单元格中 /// /// UltraGrid /// /// 可以进行列名称 public static void setGridCopyActColumn(UltraGrid ugrid, KeyEventArgs e, params string[] strs) { if (e.Control && e.KeyCode == Keys.D) { if (ugrid != null && ugrid.ActiveRow != null) { UltraGridRow ugr = ugrid.ActiveRow; foreach (string colName in strs) { if (ugrid.ActiveCell.Column.Key.Equals(colName)) { if (ugr.Cells[colName].Activation != Activation.AllowEdit) { return; } ugrid.UpdateData(); ArrayList list = new ArrayList(); IQueryable checkRows = ugrid.Rows.AsQueryable().Where("CHK = 'True' "); if (checkRows.Count() == 0) { return; } foreach (UltraGridRow uRow in checkRows) { if (uRow != ugr && uRow.Cells[colName].Activation == Activation.AllowEdit) { uRow.Cells[colName].Value = ugr.Cells[colName].Value; } } } } } } } /// /// 键盘按下Ctrl+D,拷贝活动单元格的数据到所有已勾选的此列的单元格中 /// /// UltraGrid /// /// 可以进行列名称 public static void setGridCopyActColumn1(UltraGrid ugrid, KeyEventArgs e, params string[] strs) { if (e.Control && e.KeyCode == Keys.D) { if (ugrid != null && ugrid.ActiveRow != null) { UltraGridRow ugr = ugrid.ActiveRow; foreach (string colName in strs) { if (ugrid.ActiveCell.Column.Key.Equals(colName)) { if (ugr.Cells[colName].Activation != Activation.AllowEdit) { return; } ugrid.UpdateData(); ArrayList list = new ArrayList(); IQueryable checkRows = ugrid.Rows.AsQueryable().Where("CHOOSE = 'True' "); if (checkRows.Count() == 0) { return; } foreach (UltraGridRow uRow in checkRows) { if (uRow != ugr && uRow.Cells[colName].Activation == Activation.AllowEdit) { uRow.Cells[colName].Value = ugr.Cells[colName].Value; } } } } } } } /// /// 获取数据源中第一行数据赋到类中(grid 带下划线) /// /// 返回类 /// 输入带数据的数据源 /// 输入类 /// public static T GetUltraGridToEntityNEW(UltraGrid _grid, T t) { String[] strColumns = null; String[] strColumnsNew = null; UltraGridRow dr = _grid.Rows[0]; int columnNum = dr.Cells.Count; strColumns = new String[columnNum]; strColumnsNew = new String[columnNum]; for (int i = 0; i < columnNum; i++) { strColumns[i] = _grid.DisplayLayout.Bands[0].Columns[i].Key.ToString().Replace("_", ""); strColumnsNew[i] = _grid.DisplayLayout.Bands[0].Columns[i].Key.ToString(); } System.Reflection.PropertyInfo[] pro = t.GetType().GetProperties(); foreach (System.Reflection.PropertyInfo item in pro) { for (int i = 0; i < strColumns.Length; i++) { if (string.Compare(item.Name.ToString(), strColumns[i].ToString(), true) == 0) { if (item.PropertyType == typeof(int?)) { item.SetValue(t, Convert.ToInt32(dr.Cells[strColumnsNew[i]].Value.ToString3()), null); } else if (item.PropertyType == typeof(decimal?)) { item.SetValue(t, Convert.ToDecimal(dr.Cells[strColumnsNew[i]].Value.ToString3()), null); } else { item.SetValue(t, Convert.ToString(dr.Cells[strColumnsNew[i]].Value.ToString()), null); } } } } return t; } } }