| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Text;
- using System.Windows.Forms;
- using Infragistics.Win;
- using Infragistics.Win.Misc;
- using Infragistics.Win.UltraWinEditors;
- using Infragistics.Win.UltraWinGrid;
- using Infragistics.Win.UltraWinTabControl;
- using Infragistics.Win.UltraWinToolbars;
- using CoreFS.CA06;
- namespace Core.Mes.Client.Common
- {
- public partial class frmStyleBase :FrmBase
- {
- public string[] QueryStrings
- {
-
-
- get
- {
- return this.Key.Split('@');
- }
-
- }
-
- ComboBox cboMain; //定义ComboBox控件
- // public bool On_Off_Thread = false;
- public frmStyleBase()
- {
- InitializeComponent();
- }
- protected override void OnLoad(EventArgs e)
- {
- SetControlStyle(this);
- base.OnLoad(e);
- }
- //protected override void OnPaint(PaintEventArgs e)
- //{
- // // FillRectangleFloat(e, this);
- // // base.OnPaint(e);
- //}
- private void frmStyleBase_Load(object sender, EventArgs e)
- {
- }
- /// <summary>
- /// 处理ComboBox边框问题(没完成)
- /// </summary>
- /// <param name="e"></param>
- /// <param name="parentCtrl"></param>
- private void FillRectangleFloat(PaintEventArgs e)
- {
- //创建边框颜色
- SolidBrush blueBrush = new SolidBrush(Color.Black);
-
- //设置边框坐标
- float x = cboMain.Location.X - 1;
- float y = cboMain.Location.Y - 1;
- float width = cboMain.Width + 2;
- float height = cboMain.Height + 2;
- //填充边框
- e.Graphics.FillRectangle(blueBrush, x, y, width, height);
- }
- /// <summary>
- /// 控件重画事情(没完成)
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- /// <param name="cboMain"></param>
- private void Main_Paint(object sender, PaintEventArgs e)
- {
- FillRectangleFloat(e);
- }
- /// <summary>
- /// 遍历设置窗体上控件样式
- /// </summary>
- /// <param name="parentCtrl">父容器</param>
- private void SetControlStyle(Control parentCtrl)
- {
- try
- {
- foreach (Control ctrl in parentCtrl.Controls)
- {
- if (ctrl.HasChildren) SetControlStyle(ctrl);
- ctrl.EnabledChanged += new System.EventHandler(AllEnabledChanged);
- if (ctrl.ToString().IndexOf("ComboBox") > 0 && (ctrl is ComboBox))
- {
- SetComboBoxStyle(ctrl as ComboBox);
- continue;
- }
- if (ctrl.ToString().IndexOf("UltraGroupBox") > 0 && (ctrl is UltraGroupBox))
- {
- SetUltraGroupBoxStyle(ctrl as UltraGroupBox);
- continue;
- }
- if (ctrl.ToString().IndexOf("UltraExpandableGroupBox") > 0 && (ctrl is UltraExpandableGroupBox))
- {
- SetUltraExpandableGroupBoxStyle(ctrl as UltraExpandableGroupBox);
- continue;
- }
- if (ctrl.ToString().IndexOf("UltraTextEditor") > 0 && (ctrl is UltraTextEditor))
- {
- SetUltraTextEditorStyle(ctrl as UltraTextEditor);
- continue;
- }
- if (ctrl.ToString().IndexOf("UltraComboEditor") > 0 && (ctrl is UltraComboEditor))
- {
- SetUltraComboEditorStyle(ctrl as UltraComboEditor);
- continue;
- }
- if (ctrl.ToString().IndexOf("UltraCombo") > 0 && (ctrl is UltraCombo))
- {
- SetUltraComboStyle(ctrl as UltraCombo);
- continue;
- }
- if (ctrl.ToString().IndexOf("UltraDateTimeEditor") > 0 && (ctrl is UltraDateTimeEditor))
- {
- SetUltraDateTimeEditorStyle(ctrl as UltraDateTimeEditor);
- continue;
- }
- if (ctrl.ToString().IndexOf("UltraGrid") > 0 && (ctrl is UltraGrid))
- {
- SetUltraGridStyle(ctrl as UltraGrid);
- continue;
- }
- if (ctrl.ToString().IndexOf("Label") > 0 && (ctrl is Label))
- {
- SetLabelStyle(ctrl as Label);
- continue;
- }
- if (ctrl.ToString().IndexOf("CheckBox") > 0 && (ctrl is CheckBox))
- {
- SetCheckBoxStyle(ctrl as CheckBox);
- continue;
- }
- if (ctrl.ToString().IndexOf("RadioButton") > 0 && (ctrl is RadioButton))
- {
- SetRadioButtonStyle(ctrl as RadioButton);
- continue;
- }
- if (ctrl.ToString().IndexOf("TextBox") > 0 && (ctrl is TextBox))
- {
- SetTextBoxStyle(ctrl as TextBox);
- continue;
- }
- if (ctrl.ToString().IndexOf("ComboBox") > 0 && (ctrl is ComboBox))
- {
- SetComboBoxStyle(ctrl as ComboBox);
- continue;
- }
- if (ctrl.ToString().IndexOf("UltraNumericEditor") > 0 && (ctrl is UltraNumericEditor))
- {
- SetUltraNumericEditorStyle(ctrl as UltraNumericEditor);
- continue;
- }
- }
- }
- catch (Exception ee)
- {
- Console.WriteLine(ee.Message);
- }
- }
- private void AllEnabledChanged(object sender, EventArgs e)
- {
- if (((Control)sender).Enabled == true)
- {
- if (sender is TextBox || sender is ComboBox)
- ((Control)sender).BackColor = Color.White;//Color.LightCyan;
- else if (sender is UltraTextEditor)
- ((UltraTextEditor)sender).Appearance.BackColor = Color.White;//Color.LightCyan;
- else if (sender is UltraComboEditor)
- ((UltraComboEditor)sender).Appearance.BackColor = Color.White;//Color.LightCyan;
- else if (sender is UltraCombo)
- ((UltraCombo)sender).Appearance.BackColor = Color.White;//Color.LightCyan;
- else if (sender is UltraDateTimeEditor)
- ((UltraDateTimeEditor)sender).Appearance.BackColor = Color.White;//Color.LightCyan;
- else if (sender is UltraNumericEditor)
- ((UltraNumericEditor)sender).Appearance.BackColor = Color.White;//Color.LightCyan;
- }
- else
- {
- if (sender is TextBox || sender is ComboBox)
- ((Control)sender).BackColor = Color.White;// Color.Empty;
- else if (sender is UltraTextEditor)
- ((UltraTextEditor)sender).Appearance.BackColor = Color.White;// Color.Empty;
- else if (sender is UltraComboEditor)
- ((UltraComboEditor)sender).Appearance.BackColor = Color.White;// Color.Empty;
- else if (sender is UltraCombo)
- ((UltraCombo)sender).Appearance.BackColor = Color.White;// Color.Empty;
- else if (sender is UltraDateTimeEditor)
- ((UltraDateTimeEditor)sender).Appearance.BackColor = Color.White;// Color.Empty;
- else if (sender is UltraNumericEditor)
- ((UltraNumericEditor)sender).Appearance.BackColor = Color.White;// Color.Empty;
- }
- }
- #region "设置控件样式"
- /// <summary>
- /// 设置UltraGroupBox样式
- /// </summary>
- /// <param name="ulgrpbx">UltraGroup控件</param>
- private void SetUltraGroupBoxStyle(UltraGroupBox ulgrpbx)
- {
- ulgrpbx.ViewStyle = Infragistics.Win.Misc.GroupBoxViewStyle.XP;
- ulgrpbx.Font = new System.Drawing.Font("宋体", 9F);
- ulgrpbx.BackColor = Color.FromArgb(213, 228, 242);//System.Drawing.Color.Gainsboro;
- ulgrpbx.HeaderAppearance.BackColor = System.Drawing.Color.Empty;
- ulgrpbx.HeaderAppearance.BackColor2 = System.Drawing.Color.Empty;
- }
- /// <summary>
- /// 设置UltraExpandableGroupBox样式
- /// </summary>
- /// <param name="ulgrpbx">UltraExpandableGroupBox控件</param>
- private void SetUltraExpandableGroupBoxStyle(UltraExpandableGroupBox ulexgrpbx)
- {
- ulexgrpbx.ViewStyle = Infragistics.Win.Misc.GroupBoxViewStyle.VisualStudio2005;
- ulexgrpbx.Font = new System.Drawing.Font("宋体", 9F);
- ulexgrpbx.BackColor = Color.FromArgb(213, 228, 242);// System.Drawing.Color.Gainsboro;
- ulexgrpbx.HeaderAppearance.BackColor = Color.FromArgb(202, 218,238);// System.Drawing.Color.Empty;
- ulexgrpbx.HeaderAppearance.BackColor2 = Color.White;// System.Drawing.Color.Empty;
- }
- /// <summary>
- /// 设置UltraTextEditor样式
- /// </summary>
- /// <param name="ulgrpbx">UltraTextEditor控件</param>
- private void SetUltraTextEditorStyle(UltraTextEditor ultxte)
- {
- ultxte.FlatMode = true;
- if (ultxte.ReadOnly == false && ultxte.Enabled == true)
- ultxte.Appearance.BackColor = Color.White;// Color.LightCyan;
- if (ultxte.ReadOnly == true) ultxte.Appearance.BackColor = Color.White;
- ultxte.BorderStyle = Infragistics.Win.UIElementBorderStyle.Solid;
- ultxte.Appearance.BorderColor = Color.Black;
- ultxte.DisplayStyle = EmbeddableElementDisplayStyle.Standard;
- }
- /// <summary>
- /// 设置UltraComboEditor样式
- /// </summary>
- /// <param name="ulcmbxe">UltraComboEditor控件</param>
- private void SetUltraComboEditorStyle(UltraComboEditor ulcmbxe)
- {
- ulcmbxe.FlatMode = true;
- ulcmbxe.AutoComplete = true;
- ulcmbxe.DropDownListWidth = -1;
- if (ulcmbxe.Enabled == true && ulcmbxe.ReadOnly == false)
- ulcmbxe.Appearance.BackColor = Color.White;//Color.LightCyan;
- ulcmbxe.BorderStyle = Infragistics.Win.UIElementBorderStyle.Solid;
- ulcmbxe.Appearance.BorderColor = Color.Black;
- ulcmbxe.DisplayStyle = EmbeddableElementDisplayStyle.Standard;
- }
- /// <summary>
- /// 设置UltraCombo样式
- /// </summary>
- /// <param name="ulcmb">UltraCombo控件</param>
- private void SetUltraComboStyle(UltraCombo ulcmb)
- {
- ulcmb.FlatMode = true;// DefaultableBoolean.True;
- ulcmb.BorderStyle = Infragistics.Win.UIElementBorderStyle.Default;
- if (ulcmb.Enabled == true && ulcmb.ReadOnly == false)
- ulcmb.Appearance.BackColor = Color.White;//Color.LightCyan;
- }
- /// <summary>
- /// 设置UltraDateTimeEditor样式
- /// </summary>
- /// <param name="uldte">UltraDateTimeEditor控件</param>
- private void SetUltraDateTimeEditorStyle(UltraDateTimeEditor uldte)
- {
- uldte.FlatMode = true;
- if (uldte.Enabled == true && uldte.ReadOnly == false)
- uldte.Appearance.BackColor = Color.White;//Color.LightCyan;
- uldte.BorderStyle = Infragistics.Win.UIElementBorderStyle.Solid;
- uldte.Appearance.BorderColor = Color.Black;
- }
- /// <summary>
- /// 设置UltraToolbarsManager样式
- /// </summary>
- /// <param name="uldte">UltraToolbarsManager控件</param>
- private void SetUltraToolbarsManager(UltraToolbarsManager ctrl)
- {
- ctrl.ShowQuickCustomizeButton = false;
- ctrl.ToolbarSettings.ToolDisplayStyle = ToolDisplayStyle.ImageAndText;
- ctrl.Style = ToolbarStyle.VisualStudio2005;
- ctrl.LockToolbars = true;
- }
- /// <summary>
- /// 设置UltraGrid样式
- /// </summary>
- /// <param name="ulgrid">UltraGrid控件</param>
- private void SetUltraGridStyle(UltraGrid ulgrid)
- {
- ulgrid.DisplayLayout.Appearance.BackColor = Color.FromArgb(245, 250, 254);
- ulgrid.DisplayLayout.CaptionVisible = Infragistics.Win.DefaultableBoolean.False;
- ulgrid.DisplayLayout.ScrollBounds = Infragistics.Win.UltraWinGrid.ScrollBounds.ScrollToFill;
- ulgrid.DisplayLayout.ScrollStyle = Infragistics.Win.UltraWinGrid.ScrollStyle.Immediate;
- ulgrid.DisplayLayout.MaxColScrollRegions = 2;
- ulgrid.DisplayLayout.MaxRowScrollRegions = 2;
- ulgrid.DisplayLayout.UseFixedHeaders = true;
- ulgrid.DisplayLayout.Override.FixedHeaderIndicator = FixedHeaderIndicator.None;
- ulgrid.DisplayLayout.Override.HeaderAppearance.TextHAlign = Infragistics.Win.HAlign.Center;
- ulgrid.DisplayLayout.Override.HeaderStyle = Infragistics.Win.HeaderStyle.Standard;
- ulgrid.DisplayLayout.Override.MinRowHeight = 21;
- ulgrid.DisplayLayout.Override.RowSelectorNumberStyle = Infragistics.Win.UltraWinGrid.RowSelectorNumberStyle.RowIndex;
- ulgrid.DisplayLayout.Override.RowSelectors = Infragistics.Win.DefaultableBoolean.True;
- ulgrid.DisplayLayout.Override.AllowDelete = DefaultableBoolean.False;
- if (ulgrid.DisplayLayout.Bands[0].CardView == false)
- ulgrid.DisplayLayout.Override.ActiveRowAppearance.FontData.Bold = DefaultableBoolean.True;
- else
- ulgrid.DisplayLayout.Override.ActiveRowAppearance.FontData.Bold = DefaultableBoolean.False;
- ulgrid.DisplayLayout.Override.ActiveRowAppearance.BackColor = Color.Empty;
- ulgrid.DisplayLayout.Override.ActiveRowAppearance.ForeColor = Color.Empty;
- ulgrid.DisplayLayout.Override.CellClickAction = CellClickAction.EditAndSelectText;
- ulgrid.Font = new System.Drawing.Font("宋体", 9F);
- ulgrid.DisplayLayout.Appearance.FontData.SizeInPoints = 9;
- if (ulgrid.DisplayLayout.Bands.Count == 1)
- {
- ulgrid.DisplayLayout.Override.HeaderAppearance.BackColor = Color.FromArgb(158, 191, 231);// System.Drawing.Color.LightSteelBlue;
- ulgrid.DisplayLayout.Override.RowSelectorAppearance.BackColor = System.Drawing.Color.LightSteelBlue;
- ulgrid.DisplayLayout.Override.RowAlternateAppearance.BackColor = Color.GhostWhite;
- }
- else if (ulgrid.DisplayLayout.Bands.Count == 2)
- {
- ulgrid.DisplayLayout.Bands[0].Override.HeaderAppearance.BackColor = Color.FromArgb(158, 191, 231);//System.Drawing.Color.LightSteelBlue;
- ulgrid.DisplayLayout.Bands[0].Override.RowSelectorAppearance.BackColor = System.Drawing.Color.LightSteelBlue;
- ulgrid.DisplayLayout.Bands[0].Override.RowAppearance.BackColor = Color.LightGray;
- ulgrid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackColor = Color.FromArgb(233, 242, 199);
- ulgrid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackColor2 = Color.FromArgb(170, 184, 131);
- ulgrid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackGradientStyle = Infragistics.Win.GradientStyle.Vertical;
- ulgrid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackColor = Color.FromArgb(233, 242, 199);
- ulgrid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackColor2 = Color.FromArgb(170, 184, 131);
- ulgrid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackGradientStyle = Infragistics.Win.GradientStyle.Vertical;
- ulgrid.DisplayLayout.Bands[1].Override.RowAppearance.BorderColor = Color.FromArgb(170, 184, 131);
- }
- else if (ulgrid.DisplayLayout.Bands.Count == 3)
- {
- ulgrid.DisplayLayout.Bands[0].Override.HeaderAppearance.BackColor = Color.FromArgb(158, 191, 231);//System.Drawing.Color.LightSteelBlue;
- ulgrid.DisplayLayout.Bands[0].Override.RowSelectorAppearance.BackColor = System.Drawing.Color.LightSteelBlue;
- ulgrid.DisplayLayout.Bands[0].Override.RowAppearance.BackColor = Color.LightGray;
- ulgrid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackColor = Color.FromArgb(233, 242, 199);
- ulgrid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackColor2 = Color.FromArgb(170, 184, 131);
- ulgrid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackGradientStyle = Infragistics.Win.GradientStyle.Vertical;
- ulgrid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackColor = Color.FromArgb(233, 242, 199);
- ulgrid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackColor2 = Color.FromArgb(170, 184, 131);
- ulgrid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackGradientStyle = Infragistics.Win.GradientStyle.Vertical;
- ulgrid.DisplayLayout.Bands[1].Override.RowAppearance.BorderColor = Color.FromArgb(170, 184, 131);
- ulgrid.DisplayLayout.Bands[2].Override.HeaderAppearance.BackColor = Color.FromArgb(233, 242, 199);
- ulgrid.DisplayLayout.Bands[2].Override.HeaderAppearance.BackColor2 = Color.FromArgb(170, 184, 131);
- ulgrid.DisplayLayout.Bands[2].Override.HeaderAppearance.BackGradientStyle = Infragistics.Win.GradientStyle.Vertical;
- ulgrid.DisplayLayout.Bands[2].Override.RowSelectorAppearance.BackColor = Color.FromArgb(233, 242, 199);
- ulgrid.DisplayLayout.Bands[2].Override.RowSelectorAppearance.BackColor2 = Color.FromArgb(170, 184, 131);
- ulgrid.DisplayLayout.Bands[2].Override.RowSelectorAppearance.BackGradientStyle = Infragistics.Win.GradientStyle.Vertical;
- ulgrid.DisplayLayout.Bands[2].Override.RowAppearance.BorderColor = Color.FromArgb(170, 184, 131);
- }
- }
- /// <summary>
- /// 设置Label样式
- /// </summary>
- /// <param name="lbl">Label控件</param>
- private void SetLabelStyle(Label lbl)
- {
- lbl.BackColor = Color.Transparent;
- }
- /// <summary>
- /// 设置CheckBox样式
- /// </summary>
- /// <param name="chkbx">CheckBox控件</param>
- private void SetCheckBoxStyle(CheckBox chkbx)
- {
- chkbx.FlatStyle = FlatStyle.Flat;
- chkbx.BackColor = Color.Transparent;
- }
- /// <summary>
- /// 设置RadioButton样式
- /// </summary>
- /// <param name="rdbtn">RadioButton控件</param>
- private void SetRadioButtonStyle(RadioButton rdbtn)
- {
- rdbtn.FlatStyle = FlatStyle.Flat;
- rdbtn.BackColor = Color.Transparent;
- }
- /// <summary>
- /// 设置TextBox样式
- /// </summary>
- /// <param name="txtbx">TextBox控件</param>
- private void SetTextBoxStyle(TextBox txtbx)
- {
- txtbx.BorderStyle = BorderStyle.Fixed3D;
- if (txtbx.Enabled == true && txtbx.ReadOnly == false)
- txtbx.BackColor = Color.White;//Color.LightCyan;
- if (txtbx.ReadOnly == true) txtbx.BackColor = Color.White;
- }
- /// <summary>
- /// 设置ComboBox样式
- /// </summary>
- /// <param name="cmbx">ComboBox控件</param>
- private void SetComboBoxStyle(ComboBox cmbx)
- {
- cmbx.FlatStyle = FlatStyle.Standard;
- if (cmbx.Enabled == true)
- cmbx.BackColor = Color.White;//Color.LightCyan;
- else
- cmbx.BackColor = Color.White;//Color.LightCyan;
- }
- /// <summary>
- /// 设置UltraNumericEditor样式
- /// </summary>
- /// <param name="ulNumEdor">UltraNumericEditor控件</param>
- private void SetUltraNumericEditorStyle(UltraNumericEditor ulNumEdor)
- {
- ulNumEdor.ImeMode = ImeMode.Disable;
- ulNumEdor.DisplayStyle = EmbeddableElementDisplayStyle.Standard;
- if (ulNumEdor.Enabled == true && ulNumEdor.ReadOnly == false)
- ulNumEdor.Appearance.BackColor = Color.White;// Color.LightCyan;
- }
- #endregion
- #region "公共方法"
- /// <summary>
- /// ultraGrid单元格内容复制
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void ultraGrid1_KeyDown(object sender, KeyEventArgs e)
- {
- if (((UltraGrid)sender).ActiveCell != null)
- {
- if (e.Control && e.KeyCode == Keys.C)
- {
- Clipboard.SetDataObject(((UltraGrid)sender).ActiveCell.Value, false);
- }
- }
- }
- /// <summary>
- /// 设置ultraGrid是否允许分组
- /// </summary>
- /// <param name="ulgrid">ultraGrid控件</param>
- /// <param name="Checked">是否允许</param>
- public void AllowGroup(Infragistics.Win.UltraWinGrid.UltraGrid ulgrid, bool Checked)
- {
- ulgrid.DisplayLayout.GroupByBox.Hidden = !Checked;
- if (!Checked)
- ulgrid.DisplayLayout.Bands[0].SortedColumns.Clear();
- }
- /// <summary>
- /// 设置ultraGrid是允许过滤
- /// </summary>
- /// <param name="Grid">ultraGrid控件</param>
- /// <param name="Checked">是否允许</param>
- public void AllowFilter(Infragistics.Win.UltraWinGrid.UltraGrid ulgrid, bool Checked)
- {
- ulgrid.DisplayLayout.Override.FilterUIType = Infragistics.Win.UltraWinGrid.FilterUIType.FilterRow;
- if (Checked)
- ulgrid.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.True;
- else
- ulgrid.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- ulgrid.DisplayLayout.Bands[0].ColumnFilters.ClearAllFilters();
- }
- /// <summary>
- /// 设置ultraGrid指定Bands索引的为不可编辑,如有选择Checked列Key为selectkey
- /// </summary>
- /// <param name="Grid">ultraGrid控件</param>
- /// <param name="index">Bands索引</param>
- public void SetNoEnable(Infragistics.Win.UltraWinGrid.UltraGrid ulgrid, int index)
- {
- foreach (Infragistics.Win.UltraWinGrid.UltraGridColumn Col in ulgrid.DisplayLayout.Bands[index].Columns)
- {
- if (Col.Key.ToLower() != "selectkey") //选择复选框
- Col.CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
- }
- }
- /// <summary>
- /// 设置ultraGrid为不可编辑,如有选择Checked列Key为selectkey
- /// </summary>
- /// <param name="ulgrid">ultraGrid控件</param>
- public void SetNoEnable(Infragistics.Win.UltraWinGrid.UltraGrid ulgrid)
- {
- foreach (Infragistics.Win.UltraWinGrid.UltraGridBand var in ulgrid.DisplayLayout.Bands)
- {
- foreach (Infragistics.Win.UltraWinGrid.UltraGridColumn Col in var.Columns)
- {
- if (Col.Key.ToLower() != "selectkey") //选择复选框
- Col.CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
- }
- }
- }
- /// <summary>
- /// 设置指定条件行的背景颜色
- /// </summary>
- /// <param name="condition">数据筛条件(DataView.RowFilter的值)</param>
- /// <param name="key"></param>
- /// <param name="color">颜色值</param>
- /// <param name="table">数据源</param>
- /// <param name="Grid">ultraGrid控件</param>
- /// <param name="NotEdit">是否可编辑</param>
- public void SetRowBackColor(string condition, string key, System.Drawing.Color color, DataTable table,
- Infragistics.Win.UltraWinGrid.UltraGrid Grid, bool NotEdit)
- {
- try
- {
- bool ISOK = true;
- List<string> priKey = new List<string>();
- priKey.Add(key);
- ISOK = SetPriKey(priKey, table);
- DataView dv = new DataView();
- dv.Table = table;
- dv.RowFilter = condition;
- DataTable dt = dv.ToTable();
- if (ISOK)
- {
- foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in Grid.Rows)
- {
- if (!row.IsDataRow) continue;
- DataRow[] dr = dt.Select(key + "=" + this.getStr(row.Cells[key].Value));
- if (dr.Length > 0)
- {
- Infragistics.Win.Appearance appearance1 = new Infragistics.Win.Appearance();
- appearance1.ForeColor = color;
- row.Appearance = appearance1;
- if (NotEdit)
- {
- try
- {
- row.Cells["SelectKey"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
- }
- catch (Exception)
- {
- }
- }
- }
- }
- }
- else
- foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in Grid.Rows)
- {
- if (!row.IsDataRow) continue;
- foreach (DataRowView drow in dv)
- {
- if (drow[key].ToString() == row.Cells[key].Value.ToString())
- {
- Infragistics.Win.Appearance appearance1 = new Infragistics.Win.Appearance();
- appearance1.ForeColor = color;
- row.Appearance = appearance1;
- if (NotEdit)
- {
- try
- {
- row.Cells["SelectKey"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
- }
- catch (Exception)
- {
- }
- }
- }
- }
- }
- }
- catch (Exception)
- {
- }
- }
- /// <summary>
- /// 对目标对象进行字符串的转换
- /// </summary>
- /// <param name="obj"></param>
- /// <returns></returns>
- public string getStr(object obj)
- {
- if (obj == null || obj.GetType() == typeof(System.DBNull))
- {
- return "";
- }
- else
- {
- return Convert.ToString(obj).Trim();
- }
- }
- public bool SetPriKey(List<string> PriStr, DataTable dt)
- {
- try
- {
- DataColumn[] PriColunms = new DataColumn[PriStr.Count];
- int i = 0;
- foreach (string var in PriStr)
- {
- PriColunms[i] = dt.Columns[var];
- i++;
- }
- dt.PrimaryKey = PriColunms;
- }
- catch
- {
- return false;
- }
- return true;
- }
- /// <summary>
- /// 获取子窗体弹出的位置坐标
- /// </summary>
- /// <param name="ChildWindowSize"></param>
- /// <returns></returns>
- public static Point GetChildWindowLocation(Size ChildWindowSize)
- {
- int width = Cursor.Position.X + ChildWindowSize.Width - Screen.PrimaryScreen.Bounds.Width;
- int height = Cursor.Position.Y + ChildWindowSize.Height - Screen.PrimaryScreen.Bounds.Height + 30;
- width = (width > 0) ? (Cursor.Position.X - width) : Cursor.Position.X; // X坐标
- height = (height > 0) ? (Cursor.Position.Y - height + 10) : (Cursor.Position.Y + 10); // Y坐标
- return new Point(width, height);
- }
- #endregion
- }//class
- }
|