using System; using System.Collections.Generic; using System.Linq; using System.Text; using CoreFS.CA06; using System.Data; using Infragistics.Win.UltraWinGrid; using Core.Mes.Client.Comm; using System.Windows.Forms; using Infragistics.Win.UltraWinEditors; using System.Collections; using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Infragistics.Win; using System.Drawing; namespace Pur.PublicTools { /// /// 自定义公共方法类 /// class PublicPur { /// /// 筛选符合条件的DataTable /// /// 源dt /// public static DataTable GetSelectDt(DataTable dtSource, string sql) { if (dtSource != null) { DataTable dtReturn = dtSource.Clone(); DataRow[] arrDrSelect = dtSource.Select(sql); if (arrDrSelect != null && arrDrSelect.Length > 0) { foreach (DataRow row in arrDrSelect) { dtReturn.Rows.Add(row.ItemArray); } } return dtReturn; } else { return null; } } /// /// 筛选符合条件的DataTable加入排序 /// /// 源dt /// public static DataTable GetSelectDt(DataTable dtSource, string sql, string sort) { if (dtSource != null) { DataTable dtReturn = dtSource.Clone(); DataRow[] arrDrSelect; if (sort != "") { arrDrSelect = dtSource.Select(sql, sort); } else { arrDrSelect = dtSource.Select(sql); } if (arrDrSelect != null && arrDrSelect.Length > 0) { foreach (DataRow row in arrDrSelect) { dtReturn.Rows.Add(row.ItemArray); } } return dtReturn; } else { return null; } } /// /// 比较字符串是否含某元素 /// /// 元素名称 /// public static bool IsHaveChemItems(string chemName, string[] arrChems) { if (chemName == "" || arrChems.Length == 0) { return false; } else { foreach (string row in arrChems) { if (chemName == row) { return true; } } } return false; } /// /// 激活当前操作的列 /// /// /// /// 主键 public static void ActiveOperateRow(UltraGrid ultraGrid, string strPK, string strPKText) { for (int i = 0; i < ultraGrid.Rows.Count; i++) { if (ultraGrid.Rows[i].Cells[strPK].Text == strPKText) { ultraGrid.Rows[i].Activated = true; } } } /// /// 激活当前操作的列 /// /// /// /// 多主键 public static void ActiveOperateRow(UltraGrid ultraGrid, object[] strPK, object[] strPKText) { bool isEquals; for (int i = 0; i < ultraGrid.Rows.Count; i++) { isEquals = true; for (int j = 0; j < strPK.Length; j++) { if (ultraGrid.Rows[i].Cells[strPK[j].ToString()].Text != strPKText[j].ToString()) { isEquals = false; break; } } if (isEquals == true) { ultraGrid.Rows[i].Activated = true; return; } } } //点击Grid编辑区显示基本信息 public static void ShowBaseInfo(UltraGridRow ur, Panel panel) { if (ur != null) { foreach (UltraGridCell uc in ur.Cells) { if (panel.Controls.ContainsKey("txt" + uc.Column.Key) == true)//判定是否存在text { ((UltraTextEditor)panel.Controls["txt" + uc.Column.Key]).Text = uc.Text.Trim(); } else if (panel.Controls.ContainsKey("ultra" + uc.Column.Key) == true)//判定是否存在text { ((UltraComboEditor)panel.Controls["ultra" + uc.Column.Key]).Text = uc.Text.Trim(); } } } } //点击Grid编辑区显示基本信息 public static void ShowDataTaleInfo(DataTable dt, Panel panel) { foreach (DataColumn dc in dt.Columns) { if (panel.Controls.ContainsKey("txt" + dc.ColumnName) == true)//判定是否存在text { } if (panel.Controls.ContainsKey("txt" + dc.ColumnName) == true)//判定是否存在text { ((UltraTextEditor)panel.Controls["txt" + dc.ColumnName]).Text = dt.Rows[0][dc.ColumnName].ToString(); } else if (panel.Controls.ContainsKey("ultra" + dc.ColumnName) == true)//判定是否存在text { ((UltraComboEditor)panel.Controls["ultra" + dc.ColumnName]).Text = dt.Rows[0][dc.ColumnName].ToString(); } } } //点击Grid编辑区显示基本信息 public static void ClearBaseInfo(Panel panel, string[] cols) { if (cols != null) { foreach (string col in cols) { if (panel.Controls.ContainsKey("txt" + col) == true)//判定是否存在text && panel.Controls.ContainsKey("txt" + col).GetType(). == UltraTextEditor { ((UltraTextEditor)panel.Controls["txt" + col]).Text = ""; } else if (panel.Controls.ContainsKey("ultra" + col) == true)//判定是否存在text && panel.Controls.ContainsKey("txt" + col).GetType(). == UltraTextEditor { ((UltraTextEditor)panel.Controls["ultra" + col]).Text = ""; } } } } /// /// 隐藏空列 /// /// 本来就隐藏的列名集合 /// 需要操作的UltraGrid /// 需要操作的dt private void HideNullColumn(string strHidden, UltraGrid ultraGrid, DataTable dataTable) { if (strHidden != "") { foreach (DataColumn dc in dataTable.Columns) { if (strHidden.IndexOf(dc.ColumnName) >= 0) { continue; } foreach (DataRow dr in dataTable.Rows) { if (dr[dc].ToString() != "") { ultraGrid.DisplayLayout.Bands[0].Columns[dc.ColumnName].Hidden = false; break; } else { ultraGrid.DisplayLayout.Bands[0].Columns[dc.ColumnName].Hidden = true; } } } } else { foreach (DataColumn dc in dataTable.Columns) { foreach (DataRow dr in dataTable.Rows) { if (dr[dc].ToString() != "") { ultraGrid.DisplayLayout.Bands[0].Columns[dc.ColumnName].Hidden = false; break; } else { ultraGrid.DisplayLayout.Bands[0].Columns[dc.ColumnName].Hidden = true; } } } } } /// /// UltraGrid可读 /// /// UltraGrid /// 可编辑列 public static void setOtherColumnReadOnly(UltraGrid ugr, string[] keys) { if (keys == null || keys.Length == 0) { foreach (UltraGridColumn ugc in ugr.DisplayLayout.Bands[0].Columns) { ugc.CellActivation = Activation.ActivateOnly; } } else { keys.ToArray(); foreach (UltraGridColumn ugc in ugr.DisplayLayout.Bands[0].Columns) { if (!keys.Contains(ugc.Key)) { ugc.CellActivation = Activation.ActivateOnly; } //else //{ // ugc.CellActivation = Activation.AllowEdit; //} } } if (ugr.DisplayLayout.Bands[0].Columns.Exists("CHK")) { ugr.DisplayLayout.Bands[0].Columns["CHK"].DefaultCellValue = "False"; ugr.DisplayLayout.Bands[0].Columns["CHK"].Header.CheckBoxVisibility = Infragistics.Win.UltraWinGrid.HeaderCheckBoxVisibility.Always; ugr.DisplayLayout.Bands[0].Columns["CHK"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox; } } /// /// UltraGrid可读 /// /// UltraGrid /// 可编辑列 public static void setOtherColumnReadOnly(UltraGrid ugr, string[] keys, int bandNum) { if (bandNum < 0 || ugr.DisplayLayout.Bands.Count < bandNum + 1) { return; } if (keys == null || keys.Length == 0) { foreach (UltraGridColumn ugc in ugr.DisplayLayout.Bands[bandNum].Columns) { ugc.CellActivation = Activation.ActivateOnly; } } else { keys.ToArray(); foreach (UltraGridColumn ugc in ugr.DisplayLayout.Bands[bandNum].Columns) { if (!keys.Contains(ugc.Key)) { ugc.CellActivation = Activation.ActivateOnly; } } } if (ugr.DisplayLayout.Bands[bandNum].Columns.Exists("CHK")) { ugr.DisplayLayout.Bands[bandNum].Columns["CHK"].DefaultCellValue = "False"; ugr.DisplayLayout.Bands[bandNum].Columns["CHK"].Header.CheckBoxVisibility = Infragistics.Win.UltraWinGrid.HeaderCheckBoxVisibility.Always; ugr.DisplayLayout.Bands[bandNum].Columns["CHK"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox; } } /// /// UltraGrid列是否隐藏 /// isShow 为true则显示其他隐藏,false则隐藏其他显示 /// UltraGrid /// 隐藏列 public static void setColumnShowOrHidden(UltraGrid ugr, string[] keys, bool isShow) { if (keys == null || keys.Length == 0) { foreach (UltraGridColumn ugc in ugr.DisplayLayout.Bands[0].Columns) { ugc.Hidden = false; } } else { keys.ToArray(); foreach (UltraGridColumn ugc in ugr.DisplayLayout.Bands[0].Columns) { if (keys.Contains(ugc.Key)) { if (isShow) { ugc.Hidden = false; } else { ugc.Hidden = true; } } else { if (isShow) { ugc.Hidden = true; } } } } } /// /// UltraGrid列是否隐藏 /// isShow 为true则显示其他隐藏,false则隐藏其他显示 /// UltraGrid /// 隐藏列 public static void setColumnShowOrHidden(UltraGrid ugr, string[] keys, bool isShow, int bandNum) { if (bandNum < 0 || ugr.DisplayLayout.Bands.Count < bandNum + 1) { return; } if (keys == null || keys.Length == 0) { foreach (UltraGridColumn ugc in ugr.DisplayLayout.Bands[bandNum].Columns) { ugc.Hidden = false; } } else { keys.ToArray(); foreach (UltraGridColumn ugc in ugr.DisplayLayout.Bands[bandNum].Columns) { if (keys.Contains(ugc.Key)) { if (isShow) { ugc.Hidden = false; } else { ugc.Hidden = true; } } else { if (isShow) { ugc.Hidden = true; } } } } } //初始化列 public static void InitColumns(string[] arrColumns, string[] arrCaption, DataTable dataTable1) { if (arrColumns == null || arrColumns.Length == 0 || arrColumns.Length != arrCaption.Length) { return; } dataTable1.Columns.Clear();//先清除 DataColumn dc; for (int i = 0; i < arrColumns.Length; i++) { try { dc = new DataColumn(arrColumns[i]); dc.Caption = arrCaption[i]; dataTable1.Columns.Add(dc); if (dc.ColumnName == "CHK") { dc.DataType = typeof(bool); dc.DefaultValue = "False"; } } catch { continue; } } } public static void InitColumns(string[] arrColumns, string[] arrCaption, DataTable dataTable, UltraGrid ultraGrid, string[] show, bool isShow, string[] ope) { InitColumns(arrColumns, arrCaption, dataTable); setColumnShowOrHidden(ultraGrid, show, isShow); setOtherColumnReadOnly(ultraGrid, ope); } public static void InitColumns(string[] arrColumns, string[] arrCaption, DataTable dataTable, UltraGrid ultraGrid, string[] show, bool isShow, string[] ope, int bandNum) { InitColumns(arrColumns, arrCaption, dataTable); setColumnShowOrHidden(ultraGrid, show, isShow, bandNum); setOtherColumnReadOnly(ultraGrid, ope, bandNum); } //建立主从表关系 public static void CreateConstraints(DataSet dataSet, DataTable dtParent, DataTable dtChild, string[] col) { Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn = new Infragistics.Win.UltraWinGrid.UltraGridColumn("Relation1"); dataSet.Relations.AddRange(new System.Data.DataRelation[] { new System.Data.DataRelation("Relation1", dtParent.TableName, dtChild.TableName, col, col, false)}); UniqueConstraint un = new UniqueConstraint("Constraint1", col, false); dtParent.Constraints.AddRange(new System.Data.Constraint[] { new UniqueConstraint("Constraint1", col, false)}); dtChild.Constraints.AddRange(new System.Data.Constraint[] { new System.Data.ForeignKeyConstraint("Relation1", dtParent.TableName, col, col, System.Data.AcceptRejectRule.None, System.Data.Rule.Cascade, System.Data.Rule.Cascade)}); } //隐藏空列 /// /// /// /// /// 需要判断的列 /// public static void HideNullColumn(string strHidden, UltraGrid ug) { string[] arr = strHidden.Split(','); for (int i = 0; i < arr.Length; i++) { if (!ug.DisplayLayout.Bands[0].Columns.Exists(arr[i])) { continue; } foreach (UltraGridRow ur in ug.Rows) { if (ur.Cells[arr[i]].Text != "") { ug.DisplayLayout.Bands[0].Columns[arr[i]].Hidden = false; break; } else { ug.DisplayLayout.Bands[0].Columns[arr[i]].Hidden = true; } } } } //选择事件 /// /// /// /// /// /// public static void SelectRow(UltraGrid ultraGrid) { if (ultraGrid.DisplayLayout.Bands[0].Columns.Exists("CHK")) { foreach (UltraGridRow uRow in ultraGrid.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHK"].Value = true; } } } } public static void ReMoveColumns(DataTable dataTable, int position) { //从0开始 int dcNum = dataTable.Columns.Count; if (dcNum > position) { for (int i = 0; i < dcNum - position; i++) { dataTable.Columns.RemoveAt(position); } } } //自适应 private void RefreshAutoSize(UltraGrid ultraGrid1) { ultraGrid1.DisplayLayout.Bands[0].Columns[0].Width = 80; for (int i = 1; i < ultraGrid1.DisplayLayout.Bands[0].Columns.Count; i++) { ultraGrid1.DisplayLayout.Bands[0].Columns[i].Width = 60;//设置列宽 } } /// /// 设置列宽 /// /// 需要设置的UltraGrid /// 不需要清除的列 /// /// 宽度 public static void ColumnsWidth(UltraGrid ultraGrid, int haveNum, int width) { int col = ultraGrid.DisplayLayout.Bands[0].Columns.Count; for (int i = haveNum; i < col; i++) { ultraGrid.DisplayLayout.Bands[0].Columns[i].Width = width;//设置列宽 } } /// /// 设置列宽 /// /// 需要设置的UltraGrid /// 不需要清除的列 /// /// 宽度 public static void ColumnsWidth(UltraGrid ultraGrid, int haveNum, int width, string[] noSet) { ArrayList al = new ArrayList(); for (int i = 0; i < noSet.Length; i++) { al.Add(noSet[i]); } int col = ultraGrid.DisplayLayout.Bands[0].Columns.Count; for (int i = haveNum; i < col; i++) { if (!al.Contains(ultraGrid.DisplayLayout.Bands[0].Columns[i].ToString())) { ultraGrid.DisplayLayout.Bands[0].Columns[i].Width = width;//设置列宽 } } } /// /// 刷新Grid数据并根据数据调整Grid列宽 /// /// 需要处理的Grid /// 需要调整的列 /// true则自适应,false则不自适应 public static void RefreshAndAutoSizeColumns(Infragistics.Win.UltraWinGrid.UltraGrid ultraGrid, object[] cols, bool isMove) { try { ultraGrid.DataBind(); foreach (Infragistics.Win.UltraWinGrid.UltraGridBand band in ultraGrid.DisplayLayout.Bands) { foreach (Infragistics.Win.UltraWinGrid.UltraGridColumn column in band.Columns) { if (cols != null && cols.Contains(column.Key)) { if (!isMove) { continue; } column.PerformAutoResize(Infragistics.Win.UltraWinGrid.PerformAutoSizeType.AllRowsInBand);//AllRowsInBand } else { if (!isMove) { column.PerformAutoResize(Infragistics.Win.UltraWinGrid.PerformAutoSizeType.AllRowsInBand); } } } } ultraGrid.Refresh(); } catch { } } //改变splitContainer1.Panel1 public static void ChangeSplit(SplitContainer splitContainer, DataTable dtPhyMax) { if (dtPhyMax != null && dtPhyMax.Rows.Count > 0) { splitContainer.Panel1Collapsed = false; } else { splitContainer.Panel1Collapsed = true; ; } } //解析数据权限 public static string ValidDataString(string[] arrId) { string strId = ""; if (arrId != null) { foreach (string str in arrId) { strId += "'" + str + "',"; } } strId = strId.Remove(0, 1); strId = strId.Remove(strId.Length - 2); return strId; } // 路径组成 Lims + 界面名称 + 文件名 "Lims/data/base/"; public static string GetFilePath(string strPath) { return ""; } /// /// 更改文件路径 /// /// user_depatment /// public static void UpdateFilePosition(string strTableName, string strPath, string strPk, string strPkValue, OpeBase ob) { try { string sql = "UPDATE " + strTableName + " SET FILE_POSITION = '" + strPath + "' WHERE " + strPk + " = '" + strPkValue + "'"; //PublicServer.SetData("com.steering.BaseInfo.UpdateFilePosition", new Object[] { sql }, ob); } catch { } } /// /// 查看文件路径 /// /// user_depatment /// public static bool ViewFilePosition(OpeBase _ob, string path) { bool isSucc = true; FormFileDown down = new FormFileDown(_ob, path); down.ShowDialog(); if (down.CtrlFileDown1.List.Count == 0) { isSucc = false;//删除了则更新FILE_POSITION } return isSucc; } /// /// 上传文件路径 /// /// user_depatment /// public static bool UploadFilePosition(OpeBase _ob, string path) { //var serverFileList = FileHelper.Download(path); //if (serverFileList.Count > 0) //{ // MessageUtil.ShowWarning("该记录已存在一份文件,请删除后再重新上传!"); // return false; //} List list = new List(); FileBean bean = new FileBean(); OpenFileDialog file = new OpenFileDialog(); 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) { MessageUtil.ShowTips("上传成功!"); } else { MessageUtil.ShowTips("上传失败,请重试!"); } return isSuccess;//成功了则更新FILE_POSITION } return false; } //勾选激活行 public static void GridEdite(UltraGridRow row) { if (row.GetValue("CHK") == "True") { foreach (UltraGridCell cell in row.Cells) { if (cell.Column.CellActivation == Activation.AllowEdit) { cell.Activation = Activation.AllowEdit; } } } else { foreach (UltraGridCell cell in row.Cells) { if (cell.Column.Key == "CHK") continue; if (cell.Column.CellActivation == Activation.AllowEdit) { cell.Activation = Activation.ActivateOnly; } } } } public static void GridEdite(UltraGridRow row, string[] arrStr) { if (row.GetValue("CHK") == "True") { foreach (UltraGridCell cell in row.Cells) { if (cell.Column.CellActivation == Activation.AllowEdit) { cell.Activation = Activation.AllowEdit; } } } else { foreach (UltraGridCell cell in row.Cells) { if (cell.Column.Key == "CHK") continue; if (cell.Column.CellActivation == Activation.AllowEdit) { cell.Activation = Activation.ActivateOnly; } } } } /// /// 设置列字段显示位置在右 /// /// UltraGrid /// 要设置的列 public static void InitCellPositionRight(UltraGrid ug, string[] columnsKeys) { if (columnsKeys == null || columnsKeys.Length == 0) { foreach (UltraGridColumn ugc in ug.DisplayLayout.Bands[0].Columns) { ugc.CellAppearance.TextHAlign = Infragistics.Win.HAlign.Right; } } else { columnsKeys.ToArray(); foreach (UltraGridColumn ugc in ug.DisplayLayout.Bands[0].Columns) { if (columnsKeys.Contains(ugc.Key.ToString())) { ugc.CellAppearance.TextHAlign = Infragistics.Win.HAlign.Right; } } } } /// /// 设置列字段显示位置在右 /// /// UltraGrid /// 要设置的列 public static void InitCellPositionRight(UltraGrid[] arrUg, string[] columnsKeys) { if (arrUg == null || arrUg.Length < 1) { return; } foreach (UltraGrid ug in arrUg) { if (ug.DisplayLayout.Bands.Count < 1) { continue; } if (columnsKeys == null || columnsKeys.Length == 0) { foreach (UltraGridColumn ugc in ug.DisplayLayout.Bands[0].Columns) { ugc.CellAppearance.TextHAlign = Infragistics.Win.HAlign.Right; } } else { columnsKeys.ToArray(); foreach (UltraGridColumn ugc in ug.DisplayLayout.Bands[0].Columns) { if (columnsKeys.Contains(ugc.Key.ToString())) { ugc.CellAppearance.TextHAlign = Infragistics.Win.HAlign.Right; } } } } } /// /// 设置列字段显示小数位后几位 /// /// UltraGrid /// band 第几个 num显示位数不足补齐0,isShow 数字是否用逗号隔开 /// 要设置的列 public static void InitColumnShowLength(UltraGrid ug, int band, string[] columnsKeys, int num, bool isShow) { if (columnsKeys == null || columnsKeys.Length == 0 || band < 0 || num < 0 || ug.DisplayLayout.Bands.Count < band + 1) { return; } else { string strShow = "";//nnnnnnnnnn {LOC}nn,nnn,nnn.nn if (isShow) { strShow += "-n,nnn,nnn,nnn,nnn,nnn"; } else { strShow += "-nnnnnnnnnnnnnnnn"; } if (num > 0) { strShow += "."; for (int i = 0; i < num; i++) { strShow += "n"; } } columnsKeys.ToArray(); foreach (UltraGridColumn ugc in ug.DisplayLayout.Bands[band].Columns) { if (columnsKeys.Contains(ugc.Key.ToString())) { //ug.DisplayLayout.Bands[band].Columns[ugc.Key.ToString()].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Double; ug.DisplayLayout.Bands[band].Columns[ugc.Key.ToString()].MaskInput = strShow; } } } } /// /// 设置列字段显示小数位后几位 /// /// UltraGrid /// band 第几个 num显示位数不足补齐0,isShow 数字是否用逗号隔开 /// 要设置的列 public static void InitColumnShowLength(UltraGrid[] arrUg, int band, string[] columnsKeys, int num, bool isShow) { if (columnsKeys == null || columnsKeys.Length == 0 || band < 0 || num < 0 || arrUg == null || arrUg.Length < 1) { return; } else { string strShow = "";//nnnnnnnnnn {LOC}nn,nnn,nnn.nn if (isShow) { strShow += "-n,nnn,nnn,nnn,nnn,nnn"; } else { strShow += "-nnnnnnnnnnnnnnnn"; } if (num > 0) { strShow += "."; for (int i = 0; i < num; i++) { strShow += "n"; } } columnsKeys.ToArray(); foreach (UltraGrid ug in arrUg) { if (ug.DisplayLayout.Bands.Count < band + 1) { continue; } foreach (UltraGridColumn ugc in ug.DisplayLayout.Bands[band].Columns) { if (columnsKeys.Contains(ugc.Key.ToString())) { //ug.DisplayLayout.Bands[band].Columns[ugc.Key.ToString()].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Double; ug.DisplayLayout.Bands[band].Columns[ugc.Key.ToString()].MaskInput = strShow; } } } } } /// /// 设置Grid统计格式 /// /// /// 统计格式集合 /// 显示格式 /// 列名 /// /// 位置 public static void SetupSummaryHeade(string[] Arrsumtype, string[] HeadeVale, string[] ColumName, UltraGridBand band, SummaryDisplayAreas areas) { if (HeadeVale.Length != Arrsumtype.Length && Arrsumtype.Length != ColumName.Length) { return; } SummaryType sumType; ; for (int i = 0; i < HeadeVale.Length; i++) { //SummaryType.Count 统计 Average平均值 Maximum最大值 Minimum 最小值 Sum 求和 if (Arrsumtype[i] == "Count") { sumType = SummaryType.Count; } else if (Arrsumtype[i] == "Maximum") { sumType = SummaryType.Maximum; } else if (Arrsumtype[i] == "Minimum") { sumType = SummaryType.Minimum; } else { sumType = SummaryType.Sum; } if (band.Columns.Exists(ColumName[i])) { SummarySettings summary = band.Summaries.Add(sumType, band.Columns[ColumName[i]]); summary.SummaryDisplayArea = areas; summary.SummaryPosition = SummaryPosition.UseSummaryPositionColumn; summary.DisplayFormat = HeadeVale[i]; summary.Appearance.TextHAlign = Infragistics.Win.HAlign.Center; summary.Appearance.TextVAlign = Infragistics.Win.VAlign.Middle; //summary.Appearance.ForeColor = Color.Black; //summary.Appearance.BackColor = Color.FromArgb(248, 253, 180); } } Infragistics.Win.Appearance appearance21 = new Infragistics.Win.Appearance(); Infragistics.Win.Appearance appearance20 = new Infragistics.Win.Appearance(); appearance20.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(224)))), ((int)(((byte)(192))))); band.Override.SummaryFooterAppearance = appearance20; appearance21.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(224)))), ((int)(((byte)(192))))); appearance21.TextHAlignAsString = "Right"; band.Override.SummaryValueAppearance = appearance21; } /// /// 可编区域显示(黄色+可编辑) /// /// UltraGrid /// 要设置的列 public static void InitCellEdit(UltraGrid[] arrUg, string[] columnsKeys) { if (arrUg == null || arrUg.Length < 1) { return; } if (columnsKeys == null || columnsKeys.Length == 0) { return; } foreach (UltraGrid ug in arrUg) { if (ug.DisplayLayout.Bands.Count < 1) { continue; } columnsKeys.ToArray(); foreach (UltraGridColumn ugc in ug.DisplayLayout.Bands[0].Columns) { if (columnsKeys.Contains(ugc.Key.ToString())) { ugc.CellAppearance.BackColor = Color.FromArgb(255, 255, 128); ugc.CellActivation = Activation.AllowEdit; } else { ugc.CellActivation = Activation.ActivateOnly; } } } } } }